1375 灯泡开关 III
题目描述:
房间中有 n 枚灯泡,编号从 1 到 n,自左向右排成一排。最初,所有的灯都是关着的。
在 k 时刻( k 的取值范围是 0 到 n - 1),我们打开 light[k] 这个灯。
灯的颜色要想 变成蓝色 就必须同时满足下面两个条件:
灯处于打开状态。
排在它之前(左侧)的所有灯也都处于打开状态。
请返回能够让 所有开着的 灯都 变成蓝色 的时刻 数目 。
示例 1:
输入:light = [2,1,3,5,4]
输出:3
解释:所有开着的灯都变蓝的时刻分别是 1,2 和 4 。
示例 2:
输入:light = [3,2,4,1,5]
输出:2
解释:所有开着的灯都变蓝的时刻分别是 3 和 4(index-0)。
示例 3:
输入:light = [4,1,2,3]
输出:1
解释:所有开着的灯都变蓝的时刻是 3(index-0)。
第 4 个灯在时刻 3 变蓝。
示例 4:
输入:light = [2,1,4,3,6,5]
输出:3
示例 5:
输入:light = [1,2,3,4,5,6]
输出:6
提示:
n == light.length
1 <= n <= 5 * 10^4
light 是 [1, 2, …, n] 的一个排列。
方法1:
主要思路:解题汇总链接
(1)分析可知,要想左边的灯变蓝,则亮灯的数量必须和亮着的灯的最大索引一致,故使用两个变量分别统计亮灯的数量和最大的索引,当这两个值一致时,统计一次;
class Solution {public:int numTimesAllBlue(vector<int>& light) {int res=0;///结果int count=0,max_cur=0;//统计当前亮着的灯的数量和最大的索引for(int&l:light){++count;//亮灯数量加一max_cur=max_cur>l?max_cur:l;//找到当前最大索引if(max_cur==count){//两个值一致++res;}}return res;}
};
1375 灯泡开关 III相关推荐
- LeetCode 1375. 灯泡开关 III
1. 题目 房间中有 n 枚灯泡,编号从 1 到 n,自左向右排成一排.最初,所有的灯都是关着的. 在 k 时刻( k 的取值范围是 0 到 n - 1),我们打开 light[k] 这个灯. 灯的颜 ...
- LeetCode 5353. 灯泡开关 III
5353. 灯泡开关 III 房间中有 n 枚灯泡,编号从 1 到 n,自左向右排成一排.最初,所有的灯都是关着的. 在 k 时刻( k 的取值范围是 0 到 n - 1),我们打开 light[k ...
- 20200308: 生成每种字符都是奇数个的字符串灯泡开关 III(leetcode5352-5353)
生成每种字符都是奇数个的字符串&灯泡开关 III 题目 思路与算法 代码实现 复杂度分析 题目 思路与算法 第一题没什么难度,StringBuilder拼接即可 第二题一开始想复杂了,用了Ha ...
- 算法 319. 灯泡开关 python
319. 灯泡开关 思路 整数的因数 因数是指整数a除以整数b(b≠0) 的商正好是整数而没有余数,我们就说b是a的因数. class Solution(object):def bulbSwitch( ...
- 用html和js制作一个控制灯泡开关效果
用html和js制作一个控制灯泡开关效果 **用css样式来控制div图片和文本的位置,然后用js里面onclick点击事件来控制图片的更换效果来实现当前运行图的效果** 1.以下是运行的效果图 2. ...
- 【LeetCode】灯泡开关Ⅰ~ Ⅳ(你还是把我关了吧)
[LeetCode]灯泡开关Ⅰ~ Ⅳ
- C/C++描述 LeetCode周赛 5473. 灯泡开关 IV
5473. 灯泡开关 IV 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博 ...
- LeetCode(319):灯泡开关 Bulb Switcher(Java)
2019.8.6 #程序员笔试必备# LeetCode 从零单刷个人笔记整理(持续更新) 每个数i必能分解成任意两个数的乘积(最少会有1*i),因此只有平方数会进行单次开关,因此只需要统计截止n的平方 ...
- JavaScript 点击灯泡开关
JavaScript 点击灯泡开关 首先导入两张照片: 方法一: <img src="./img/1.gif" alt="" onclick= ...
最新文章
- android圆角ImageView的几种实现方式
- 各种版本的ST-LINK仿真器
- 让我们共同怀揣文学与艺术的梦想
- jzoj4015-数列【循环节,数论】
- 让我去健身的不是漂亮小姐姐,居然是贝叶斯统计
- 堆垛机器人编程技巧_机器人智能堆垛的控制方法与流程
- Ajax封装2.0版
- Svn常见问题及相关原因
- 分享Python入门经典基础题(day1)附完整答案
- 如何复制百度文库上的文本
- [转载]如何用C#做一个类似于桌面插件的程序
- “Navicat Premium”已损坏,无法打开。 您应该将它移到废纸篓。
- pandas详解文本数据
- no default constructor found either
- 公司注册涉及前置审批和后置审批的经营范围有哪些(2019年上海最新版)
- addEventListener()使用方法
- 创建型模式——原型模型(Prototype Pattern)
- 一些很不错的Linux学习网站推荐!(linux视频教程+论坛和资料)
- 智能除味器——外壳结构部分设计(3D打印)
- 【机器学习】决策树(理论)