LeetCode: 485 Max Consecutive Ones(easy)
题目:
Given a binary array, find the maximum number of consecutive 1s in this array.
Example 1:
Input: [1,1,0,1,1,1]
Output: 3
Explanation: The first two digits or the last three digits are consecutive 1s.
The maximum number of consecutive 1s is 3.
Note:
- The input array will only contain
0
and1
. - The length of input array is a positive integer and will not exceed 10,000
代码:
别人的:
1 class Solution { 2 public: 3 int findMaxConsecutiveOnes(vector<int>& nums) { 4 int count = 0, max = 0; 5 for (int i = 0; i < nums.size(); i++) { 6 if (nums[i] == 1 && (!i || nums[i - 1] != 1)) count = 1; 7 else if (i && nums[i] == 1 && nums[i - 1] == 1) count++; 8 if (max < count) max = count; 9 } 10 if (max < count) max = count; 11 return max; 12 } 13 };
自己的:
1 class Solution { 2 public: 3 int findMaxConsecutiveOnes(vector<int>& nums) { 4 int result = 0; 5 int tem = 0; 6 nums.push_back(0); 7 for (auto c : nums){ 8 if(c == 0){ 9 if ( tem > result) 10 result = tem; 11 tem = 0; 12 } 13 else 14 tem++; 15 } 16 return result; 17 } 18 };