news 2026/6/15 12:48:34

思维题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
思维题

lc995

贪心+滑窗

队列维护翻转区间的左端点,遍历数组时判断当前位置是否需要翻转,能翻转则记录左端点并计数,无法翻转则返回-1,最终得到最小翻转次数

class Solution {//贪心地从左到右依次翻转
public:
int minKBitFlips(vector<int>& A, int K) {
int n=A.size(),ans=0;
queue<int> q;
for(int i=0;i<n;++i){
if(!q.empty()&& i-q.front()>=K) q.pop();

//维护与当前位置的距离<=K的翻转位置(左端点)
if((A[i]+q.size())%2==0){ //需要翻转
if(i+K>n) return -1; //无法翻转
q.push(i);
++ans;
}
}
return ans;
}
};

队列动态维护「当前位置被翻转了几次」,快速判断要不要翻转,从而用贪心策略找到最少翻转次数

队列的大小 = 当前位置 i 被翻转的次数

从左到右遍历,遇到 0 就翻转它开头的 K 位,因为如果现在不翻,后面就没机会了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 12:32:34

警惕新型网络攻击:黑客借虚假ChatGPT指令传播MacStealer恶意软件

网络安全警报&#xff1a;MacStealer恶意软件通过虚假ChatGPT提示传播 安全研究人员发现&#xff0c;攻击者正在利用ChatGPT诱骗Mac用户将命令行粘贴到终端中&#xff0c;从而安装恶意软件。具体而言&#xff0c;其会安装MacStealer&#xff0c;该恶意软件允许攻击者获取iCloud…

作者头像 李华
网站建设 2026/6/13 8:09:44

安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity&#xff08;亲测有效&#xff09; 引言 Antigravity是谷歌推出的AI开发平台&#xff0c;旨在通过自动化实现从编码到测试的全流程&#xff0c;打破技术与非技术之间的壁垒。其核心功能包括任务级协作、跨界面自动化和多模态原型生成&…

作者头像 李华
网站建设 2026/6/10 11:49:01

手把手教你学Simulink--基础MPPT控制场景实例:基于Simulink的双模式MPPT(快速追踪+稳态优化)仿真

目录 手把手教你学Simulink--基础MPPT控制场景实例:基于Simulink的双模式MPPT(快速追踪+稳态优化)仿真 一、引言:为什么需要双模式MPPT?——光伏系统“效率与响应”的平衡术 二、核心原理:双模式MPPT的“切换逻辑+控制算法” 1. MPPT基本原理回顾 2. 双模式MPPT设计思…

作者头像 李华
网站建设 2026/6/10 16:04:31

基于深度学习神经网络的验证码识别系统

第一步&#xff1a;建立验证码数据库 目前演示的是四位验证码&#xff0c;里面所包含的字符类别有62种 第二步&#xff1a;搭建模型 本文利用一个简单的cnn模型&#xff0c;进行端到端识别&#xff1a; class CNN(nn.Module):def __init__(self, num_class62, num_char4):su…

作者头像 李华