1703. 得到连续 K 个 1 的最少相邻交换次数
class Solution {
public int minMoves(int[] nums, int k) {
List<Integer> g = new ArrayList<Integer>();
List<Integer> preSum = new ArrayList<Integer>();
preSum.add(0);
for (int i = 0; i < nums.length; i++) {
if (nums[i] == 1) {
g.add(i - g.size());
preSum.add(preSum.get(preSum.size() - 1) + g.get(g.size() - 1));
}
}
int m = g.size(), res = Integer.MAX_VALUE;
for (int i = 0; i <= m - k; i++) {
int mid = i + k / 2;
int r = g.get(mid);
res = Math.min(res, (1 - k % 2) * r + (preSum.get(i + k) - preSum.get(mid + 1)) - (preSum.get(mid) - preSum.get(i)));
}
return res;
}
}
作者:力扣官方题解
链接:https://leetcode.cn/problems/minimum-adjacent-swaps-for-k-consecutive-ones/solutions/2024008/de-dao-lian-xu-k-ge-1-de-zui-shao-xiang-mk5ws/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1703. 得到连续 K 个 1 的最少相邻交换次数的更多相关文章
- 二进制中连续k个1-题解
原题传送门[>XJOI<] 重要提示:您的等级必须达到三级五段,否则会被一只小猫痛扁 题目描述: 求最小的m,使得m>=n而且m的二进制表示包含至少连续k个1 输入格式: 输入 ...
- [LeetCode] Minimum Number of K Consecutive Bit Flips 连续K位翻转的最小次数
In an array A containing only 0s and 1s, a K-bit flip consists of choosing a (contiguous) subarray o ...
- [CSL 的魔法][求排序最少交换次数]
链接:https://ac.nowcoder.com/acm/contest/551/E来源:牛客网题目描述 有两个长度为 n 的序列,a0,a1,…,an−1a0,a1,…,an−1和 b0,b1, ...
- 使序列有序的最少交换次数(minimum swaps)
交换相邻两数 如果只是交换相邻两数,那么最少交换次数为该序列的逆序数. 交换任意两数 数字的总个数减去循环节的个数?? A cycle is a set of elements, each of wh ...
- Google2015校招在线測试题1----扫雷最少点击次数
Problem Minesweeper is a computer game that became popular in the 1980s, and is still included in so ...
- P4149 距离为K的点对(最少边数) n=200000 点分治
这题数据范围变成了200000 n^2就过不了 同时要求求的是最少的边数 不能容斥 #include<bits/stdc++.h> using namespace std; ; ; ], ...
- Atcoder Regular 098 区间Pre=Xor Q询问区间连续K去最小值最小极差
C 用scanf("%s")就会WA..不知道为什么 /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset ...
- AtCoder Beginner Contest 116 C题 【题意:可以在任意区间【L,R】上加1,求通过最少加1次数得到题目给定的区间】】{思维好题}
C - Grand Garden In a flower bed, there are NN flowers, numbered 1,2,......,N1,2,......,N. Initially ...
- 北京地铁站点遍历最少经站次数问题普遍意义上是一个NP问题,目前不存在多项式时间算法能够解决该问题
http://www.cnblogs.com/jiel/p/5852591.html 众所周知求一个图的哈密顿回路是一个NPC问题: In the mathematical field of grap ...
- hdu 1728 搜索求最少的转向次数
逃离迷宫 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
随机推荐
- AlertWindowManager 弹出提示窗口
LookAndFeel(界面外观): NativeStyle:本地化界面为真实用系统内置外观 SkinName:本地化界面(NativeStyle:)设置为假可使用皮肤外观 OptionAnimate ...
- 基于开源Drasi 实时监控和自动响应系统
Drasi 是微软使用MIT协议开源的一个项目,已经提交到CNCF孵化,github:https://github.com/drasi-project/drasi-platform/ ,他提供了一个集 ...
- Luogu P1777 帮助 题解 [ 紫 ] [ 线性 dp ] [ 状压 dp ]
帮助:大毒瘤!!!调了我2h,拍了我2h,最后没调出来,重写才AC.wdnmd. 思路 这题主要是线性 dp ,而状压 dp 只是最后在统计答案时的一个辅助. 首先定义 \(dp[i][j][k]\) ...
- Asp.Net Core3.0 微信退款
参考文档: 微信支付申请退款API文档:https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter8_8_11.shtml (最新更新时间:2022 ...
- [翻译] 为什么 Tracebit 用 C# 开发
原文: [Why Tracebit is written in C#] 作者: [Sam Cox (Tracebit联合创始人兼CTO)] 译者: [六六] (译注:Tracebit成立于2022年, ...
- extern和static
extern和static extern和static两者之间是有一种相克的关系:用了extern的不能用static,用了static的不能用extern, extern是声明让别的文件中能够使用, ...
- mybatis - [08] mybatis-config.xml 详解
mybatis-config.xml中的标签需要按照一定顺序配置,否则会有以下提示. configuration(配置) properties(属性) settings(设置) typeAliases ...
- ubuntu更换国内镜像源备忘
源的路径: /etc/apt/sources.list 更换前备份一下: sudo cp /etc/apt/sources.list /etc/apt/sources_init.list 打开文档,修 ...
- 稳定且高性价比的大模型存储:携程 10PB 级 JuiceFS 工程实践
在过去两年多的时间里,随着 AI 大模型的快速发展,JuiceFS 在携程内部得到了越来越多 AI 用户的关注.目前,携程通过 JuiceFS 管理着 10PB 数据规模,为 AI 训练等多个场景提供 ...
- laradock 安装扩展程序 pcntl
起因 运行workman脚步的时候,PHP 提示缺少 pcntl 扩展 Config git:(master) php start.php -d Please install pcntl extens ...