LeetCode_485. Max Consecutive Ones
来源:互联网 发布:南风知我意2 番外七微 编辑:程序博客网 时间:2024/05/22 07:39
485. Max Consecutive Ones
Given a binary array, find the maxumum 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:
1. The input array will only contain 0 and 1.
2. The length of input array is a positive integer and will not exceed 10,000.
题目理解:
求最多连续的1的数量。
C++:
(Version_1)
class Solution{public:int findMaxConsecutiveOnes(vector<int>& nums){ int n=0; std::vector<int> count; for(int i=0;i<nums.size();i++) { if(nums[i]==1) n+=1; else { count.push_back(n); n=0; } } std::vector<int>::iterator biggest = std::max_element(std::begin(count), std::end(count)); return *biggest; }};
运行正确但是runtime error。
考虑到不需要把每次计数的值都保存下来,只需要保留最大的值,那么每次比较当前计数与之前计数最大值的大小,保留较大值。
Version_2:
class Solution{public:int findMaxConsecutiveOnes(vector<int>& nums){ int n=0,count=0; for(int i=0;i<nums.size();i++) { if(nums[i]==1) n+=1; else { if(n>count) count=n; n=0; } } if(n>count) count=n; return count; }};
感觉效率还是不太好,参照Top Solution.
Version_3:
class Solution{public:int findMaxConsecutiveOnes(vector<int>& nums){ int max=0, cur=0; for(int i=0;i<nums.size();i++) { if(nums[i]&1) { max=max>cur?max:cur; } else cur=0; } return max; }};
0 0
- LeetCode_485. Max Consecutive Ones
- 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
- 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
- [4]Linux静态库与动态库
- Java Applet
- Unity3D 之 FX Maker
- Shark源码分析(十一):随机森林算法
- Leetcode 28. Implement strStr()
- LeetCode_485. Max Consecutive Ones
- Shark源码分析(十二):线性SVM
- java线程(线程同步)
- Error:(xx) Error: "xxxxxxx" is not translated in "en" (English)[MissingTranslation]
- Cisco PBTS和Route MAP技术,以及H3C的Route Policy
- Linux vmstat命令实战详解
- cocoapods生成不了.xcworkspace
- 『 Jack_a_Lent_Notes』---半桥LLC谐振变换器的基本工作原理
- 1. 标题: 猜年龄