• 描述: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.

  • 分析:这道题是要最找到二进制串中连续最多的1的个数。

  • 思路一:使用循环查找。
class Solution {
public:
    int findMaxConsecutiveOnes(vector<int>& nums) {
        int flag = 0;
        int res = 0;
        for (int i = 0; i < nums.size(); i++) {
            if (nums[i]) flag++;
            else flag = 0;
            if (flag > res) res = flag;
        }
        return res;
    }
};
  • 思路二:python版
class Solution(object):
    def findMaxConsecutiveOnes(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        temp = 0
        res = 0
        for i in nums:
            if i == 1:
                temp = temp + 1
                res = max(res, temp)
            else:
                temp = 0
        return res
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐