​LeetCode解法汇总1375. 二进制字符串前缀一致的次数

news/2023/12/4 21:48:16

目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:力扣


描述:

给你一个长度为 n 、下标从 1 开始的二进制字符串,所有位最开始都是 0 。我们会按步翻转该二进制字符串的所有位(即,将 0 变为 1)。

给你一个下标从 1 开始的整数数组 flips ,其中 flips[i] 表示对应下标 i 的位将会在第 i 步翻转。

二进制字符串 前缀一致 需满足:在第 i 步之后,在  区间 [1, i] 内的所有位都是 1 ,而其他位都是 0 。

返回二进制字符串在翻转过程中 前缀一致 的次数。

示例 1:

输入:flips = [3,2,4,1,5]
输出:2
解释:二进制字符串最开始是 "00000" 。
执行第 1 步:字符串变为 "00100" ,不属于前缀一致的情况。
执行第 2 步:字符串变为 "01100" ,不属于前缀一致的情况。
执行第 3 步:字符串变为 "01110" ,不属于前缀一致的情况。
执行第 4 步:字符串变为 "11110" ,属于前缀一致的情况。
执行第 5 步:字符串变为 "11111" ,属于前缀一致的情况。
在翻转过程中,前缀一致的次数为 2 ,所以返回 2 。

示例 2:

输入:flips = [4,1,2,3]
输出:1
解释:二进制字符串最开始是 "0000" 。
执行第 1 步:字符串变为 "0001" ,不属于前缀一致的情况。
执行第 2 步:字符串变为 "1001" ,不属于前缀一致的情况。
执行第 3 步:字符串变为 "1101" ,不属于前缀一致的情况。
执行第 4 步:字符串变为 "1111" ,属于前缀一致的情况。
在翻转过程中,前缀一致的次数为 1 ,所以返回 1 。

提示:

  • n == flips.length
  • 1 <= n <= 5 * 104
  • flips 是范围 [1, n] 中所有整数构成的一个排列

解题思路:

* 解题思路:

* 一开始没有看题解,我以为0翻转成1之后,还能翻转回来,所以选择了相对复杂一些的思路,这个思路对于1不能翻转回0一样适用。

* 构建一个有序的set,然后遍历数组,如果set中存在,则删除这个节点,如果不存在,则加入到set中。

* 每次循环的时候,取set中最大的值,和set的长度对比,相同则次数加1,不相同则跳过。

代码:

class Solution1375
{
public:int numTimesAllBlue(vector<int> &flips){set<int> numSet;int abs = 0;for (int i = 0; i < flips.size(); i++){int value = flips[i];if (numSet.find(value) == numSet.end()){numSet.insert(value);}else{numSet.erase(value);}int maxNum = *(--numSet.end());if (maxNum == numSet.size()){abs++;}}return abs;}
};


http://www.ppmy.cn/news/378828.html

相关文章

Selenium Python教程第7章:Selenium编程其它功能

7. Selenium其它功能 7.1 Action Chains 动作链功能 WebDriver只能模拟针对特定元素的click, send_keys 操作&#xff0c;无法执行鼠标移动、悬浮、按键&#xff0c;选择菜单等操作&#xff0c;需要通过 Action Chains 类来操作 如下面操作&#xff0c;打开主菜单项后&#x…

Vue中如何进行音频与视频播放?

Vue中如何进行音频与视频播放&#xff1f; 在Vue中&#xff0c;我们可以使用HTML5的<audio>和<video>标签来实现音频和视频的播放。Vue本身并没有提供专门的音频或视频播放组件&#xff0c;但是可以使用Vue的数据绑定和生命周期钩子来控制音频和视频的播放。 音频…

c++中释放指针delete后加一个[]是什么意思

在 C 中&#xff0c;用 new 运算符分配的动态内存&#xff0c;需要使用 delete 运算符来释放。但是如果这块内存是通过数组形式分配的&#xff0c;使用 delete 只会释放数组的第一个元素&#xff0c;而不会释放整个数组&#xff0c;这可能会导致内存泄漏。 为了释放整个数组&a…

linuxOPS基础_进程查看与管理

进程与程序的关系 进程是正在执行的一个程序或命令&#xff0c;每个进程都是一个运行的实体&#xff0c;并占用一定的系统资源。程序是人使用计算机语言编写的可以实现特定目标或解决特定问题的代码集合。 ​ 简单来说&#xff0c;程序是人使用计算机语言编写的&#xff0c;可…

Java中 is empty 和 is blank 的区别?

在 Java 中&#xff0c;isEmpty() 和 isBlank() 方法用于判断字符串是否为空或空格字符。这两个方法的区别在于&#xff0c;isEmpty() 只能检测字符串是否为空&#xff0c;而isBlank()不仅能检测字符串是否为空&#xff0c;还可以检测一个字符串是否只包含空格字符。 具体来说&…

刘亦菲演绎全新杜鲁尔系列广告大片

上海2021年8月25日 /美通社/ -- 天梭于刘亦菲生日之际推出杜鲁尔系列广告大片。 天梭全球形象代言人刘亦菲演绎全新杜鲁尔系列广告大片 时刻从容 简约灰白&#xff0c;亦有光影相随。 似在探索钢铁森林&#xff0c;又如洞察自我初心。纯粹、沉着&#xff0c;镜头前的刘亦菲以不…

OpenAI 刚刚宣布了海量更新

OpenAI 刚刚宣布了海量更新&#xff0c;增加函数调用&#xff0c;支持更长上下文&#xff0c;价格更低&#xff01; ​新模型上架 1、gpt-4-0613 2、gpt-4-32k-0613 3、gpt-3.5-turbo-0613 4、gpt-3.5-turbo-16k 部分模型降价 1、text-embedding-ada-002&#xff1a;$0.00…

深入理解相机硬件抽象层

和你一起终身学习&#xff0c;这里是程序员Android 经典好文推荐&#xff0c;通过阅读本文&#xff0c;您将收获以下知识点: 一、概览二、Camera HIDL 接口三 、Camera Provider 主程序四、Camera HAL3 接口 一、概览 始于谷歌的Treble开源项目&#xff0c;基于接口与实现的分离…

《JAX可微分编程》包邮送书五本

文章目录 前言JAX到底是什么&#xff1f;书籍内容介绍包邮送书5本 前言 2015年&#xff0c;Google Brain开放了一个名为「TensorFlow」的研究项目&#xff0c;这款产品迅速流行并成为人工智能业界的主流深度学习框架&#xff0c;塑造了现代机器学习的生态系统。 7年后&#x…

cxgrid显示海量数据

在默认情况下&#xff0c;cxgrid显示几万条以上的数据会很慢。怎么办&#xff1f; 交下面的属性设为TRUE以后&#xff0c;速度飞快。 但速度是快了&#xff0c;自动计算列的合计值这些功能却失效了&#xff0c;正所谓有得必有失&#xff01;

当当网首页

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>首页</title><style>.span1{background-color: khaki;color: red;margin-left: 10px;display: inline-block;height: 30px;}.zkspan{displ…

当当创始人李国庆宣布离开当当:二次创业

2月20日消息&#xff0c;当当创始人李国庆发布公开信&#xff0c;宣布离开当当。 李国庆在公开信中表示&#xff0c;在经历过无数人生巅峰之后&#xff0c;步入互联网的中场战事&#xff0c;决定又一次启程&#xff0c;去再度追梦。 李国庆称&#xff0c;十九年风雨两茫茫&…

当当CEO李国庆斥资本竞争靠烧钱垄断市场 被海航抛弃的当当怎么了

最近&#xff0c;许久没有什么大水花的当当网CEO李国庆因为一番关于资本垄断市场的言论上了热搜&#xff0c;李国庆在参加某节目时说起了当下的资本市场竞争&#xff0c;以某打车软件为例&#xff0c;在将竞争对手打败&#xff0c;使其退出中国市场之后&#xff0c;原来可爱的资…

直击|当当网:李国庆二次创业 董事长俞渝兼任公司CEO

相关新闻&#xff1a;直击|李国庆发布公开信宣布离开当当 曾称将做区块链 新浪科技讯 2月20日午间消息&#xff0c;当当网创始人李国庆今日发布公开信宣布离开当当网&#xff0c;对此当当网在微博发布公告称&#xff0c;2019年1月开始&#xff0c;李国庆不再担任当当网的任何职…

《当当网2017首页》

如何写出当当网首页呢&#xff1f; 我们先来看板块如何 我们需要什么板块呢&#xff1f; 我们需要的板块有“头部”&#xff0c;“主体”&#xff0c;“尾部”三个大部分 细化之下&#xff0c;我们的头部需要哪些内容呢&#xff1f; 1.需要logo图 2.还有导航栏 这样我们…

纪念逝去的当当网

分享一个我的公众号&#xff0c;最近突然想玩公众号&#xff0c;之前做过一段时间前端开发&#xff0c;考虑到现在应用程序越来越多&#xff0c;未来社会一定是一个充满“只有你想不到&#xff0c;没有你做不到”的App的世界&#xff01;而微信小程序又给我们这群喜爱开发的童鞋…

李国庆是一匹野马,但俞渝不是草原!

“我的存在&#xff0c;是一桩丑闻”。 北大才子创业&#xff0c;本来挺好的一件事儿。 有艰辛&#xff0c;有痛苦&#xff0c;有爱情有成功&#xff0c;可他却偏偏说也说不好&#xff0c;做也做不好。 没有谁从一生下来就是泼妇刁民&#xff0c;可怎么活着活着&#xff0c;就不…

FL Studio21.0.3最新版本下载 可切换中文语言

FL Studio是最好的! 在我12/13岁的时候&#xff0c;一个DJ向我介绍了FL Studio。它让我大吃一惊&#xff0c;怎么能在几秒钟内做出一个鼓的模式。后来我又玩了好几年&#xff0c;到了15岁时&#xff0c;我确定我想成为一名制作人。FL Studio帮助我把脑海中的想法快速地变成一个…

当当网

这真的是我第一次这么认真的写博客。。。 先看一下总体结构 然后就是主页面效果图 登录页面 注册页面 下面剖入代码&#xff1a; 主页页面&#xff1a; <script type"text/javascript">//循环显示广告图片的方法function gopic() {var index 0;$("#scrol…

当当网首页——JS代码

$(function($){//打开一个广告窗口window.open(open.html,,top0,left200,width500,height327,scrollbars0,resizable0);//随滚动条滚动的可关闭广告窗口$(window).scroll(function(){var st $(this).scrollTop()50;$("#right").css("top",st);});$("…
最新文章