题目描述
给定一个二进制数组, 计算其中最大连续1的个数。
示例 1:
输入: [1,1,0,1,1,1]
输出: 3
解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.
注意:
输入的数组只包含 0 和1。
输入数组的长度是正整数,且不超过 10,000。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/max-consecutive-ones
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
C++
//#include <algorithm>
//#include <iostream>
//using namespace
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
//思路:遍历
int count=0;
vector<int> a;//存储每个连续1的个数
for(int i=0;i<nums.size();i++)
{
if(nums[i]==1){
count++;
if(i==nums.size()-1){
a.push_back(count); //对于最后一个元素是1的情况,特别处理一下
}
}
else{
a.push_back(count);
count=0;
}
}
return *max_element(a.begin(),a.end()); //vector数据结构中求最大值的函数;
}
};
这里,我学习了求vector中最大值的函数.学习资源:
https://blog.youkuaiyun.com/dgc70876/article/details/101527497?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
这是一个关于解决LeetCode上的一道题目,目标是计算给定二进制数组中最大连续1的个数。通过遍历数组并记录连续1的个数,最终找出最大值。解决方案中使用了C++编程语言,并利用了`std::max_element`函数从vector中找到最大值。
545

被折叠的 条评论
为什么被折叠?



