研一下学期才开始刷题,着实有些晚了,作为一个非科班生,更要好好学习算法这些基础。希望机械专业对我的工程思维的培养,能够在算法学习中发挥作用。
485:给定一个二进制数组, 计算其中最大连续 1 的个数。
示例:
输入:[1,1,0,1,1,1] 输出:3 解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
C++语言实现:
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int CountMax = 0;
int Count = 0;
int n = nums.size();
for(int i=0;i<n;i++){
if(nums[i]==1){
Count++;
}else{
CountMax = max(CountMax,Count);
Count = 0;
};
}
CountMax=max(CountMax,Count);
return CountMax;
}
};
*注意命名,官方给的是这种:maxCount;else之后Count = 0;
GO语言实现
//