Max Consecutive Ones
来源:互联网 发布:杭州程序员招聘网站 编辑:程序博客网 时间:2024/06/01 18:14
Given a binary array, find the maximum number of consecutive 1s in this array.
Example 1:
Input: [1,1,0,1,1,1]Output: 3Explanation: The first two digits or the last three digits are consecutive 1s. The maximum number of consecutive 1s is 3.
Note:
- The input array will only contain
0
and1
. - The length of input array is a positive integer and will not exceed 10,000
这道题让我们求最大连续1的个数,不是一道难题。我们可以遍历一遍数组,用一个计数器cnt来统计1的个数,方法是如果当前数字为0,那么cnt重置为0,如果不是0,cnt自增1,然后每次更新结果res即可,参见代码如下:
解法一:
class Solution {public: int findMaxConsecutiveOnes(vector<int>& nums) { int res = 0, cnt = 0; for (int num : nums) { cnt = (num == 0) ? 0 : cnt + 1; res = max(res, cnt); } return res; }};
由于是个二进制数组,所以数组中的数字只能是0或1,那么连续1的和跟个数相等,所以我们可以计算和,通过加上num,再乘以num来计算,如果当前数字是0,那么sum就被重置为0,还是要更新结果res,参见代码如下:
解法二:
class Solution {public: int findMaxConsecutiveOnes(vector<int>& nums) { int res = 0, sum = 0; for (int num : nums) { sum = (sum + num) * num; res = max(res, sum); } return res; }};
阅读全文
0 0
- 485. Max Consecutive Ones*
- 485. Max Consecutive Ones
- LEETCODE--Max Consecutive Ones
- 485. Max Consecutive Ones
- 485. Max Consecutive Ones
- 485. Max Consecutive Ones
- Max Consecutive Ones
- LeetCode_485. Max Consecutive Ones
- 485. Max Consecutive Ones
- 485. Max Consecutive Ones
- leetcode485: Max Consecutive Ones
- 485. Max Consecutive Ones
- LeetCode: Max Consecutive Ones
- 485. Max Consecutive Ones
- 【leetcode】Max Consecutive Ones
- LeetCode:Max Consecutive Ones
- 485. Max Consecutive Ones
- Max Consecutive Ones
- [leetcode] 35. Search Insert Position
- Maximum Subarray-LeetCode JavaScript
- 选择结构
- 1191: 【蟠桃记】
- 独木舟上的旅行
- Max Consecutive Ones
- 在Win7下如何自动加载虚拟磁盘VHD文件
- linux 免登录以及配置别名登录
- 问题 C: 活了多少秒
- PHP 正则表达式
- TP5 提示 A non well formed numeric value encountered
- 小工具
- Wannafly挑战赛5 A珂朵莉与宇宙(思维暴力)
- 设计模式C++实现(7)——外观模式、组合模式