Given a binary array, find the maximum number of consecutive 1s in this array.
意思是给个二进制数,计算连续的1出现最长的时候有几位。
这里面用到的语句max=max>++cur?max?cur;
意思相当于如果nums[i]为1,cur加一,再做判断此时最大的max与cur相比谁大来更新max的值。
当nums[i]为0的时候,cur归0重新计算。到最后输出max。
c++实现
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int cur=0,max=0;
for(int i=0;i<nums.size();i++){
if(nums[i]&1){
max=max>++cur?max:cur;
}
else
cur=0;
}
return max;
}
};