思路:
- 这道题和上面的那道考试的最大困扰度很像,比那道简单
- 因为只涉及到0,1两个数字,求最多的1,那就只需要设置一个temp,用来记录当前状态最最长1的数量,定义一个
cnt
用来记录整个数组中最长1的数量,不断更新cnt
就行了 - 时间复杂度O(n)
代码
class Solution {
public:
int maxProduct(vector<int>& nums) {
int mul = 0;
sort(nums.begin(), nums.end());
mul = (nums[nums.size() - 1] - 1) * (nums[nums.size() - 2] - 1);class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int len = nums.size();
int cnt = 0;
int temp = 0;
for(int j = 0; j < len; j++){
if(nums[j] == 1) {
temp++;
cnt = max(cnt, temp);
}else{
temp = 0;
}
}
return cnt;
}
};
return mul;
}
};