zoukankan      html  css  js  c++  java
  • leetcode-485-Max Consecutive Ones

    题目描述:

    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 and 1.
    • The length of input array is a positive integer and will not exceed 10,000

     

    要完成的函数:

    int findMaxConsecutiveOnes(vector<int>& nums) 

    说明:

    1、这道题目很容易,给定一个vector,输出有多少个连续的1。

    2、我们直接暴力解决就可以了。

    代码如下:(附解释)

        int findMaxConsecutiveOnes(vector<int>& nums) 
        {
            int i=0,j=0,s1=nums.size(),count,result=0;
            while(i<s1)
            {
                if(nums[i]==1)//如果当前数值为1,那么进入处理
                {
                    count=1;//初始化count为1,表示当前有一个1
                    j=i+1;//从i的下一个数开始判断
                    while(j<s1)
                    {
                        if(nums[j]==1)
                        {
                            count++;
                            j++;
                        }  
                        else
                            break; 
                    }
                    i=j+1;//更新i的值
                    result=max(result,count);//更新result的值
                }
                else
                    i++;
            }
            return result;
        }

    上述代码实测37ms,beats 98.05% of cpp submissions。

  • 相关阅读:
    browser浏览器类型判断
    泛型函数Func<>
    前台JS端排除重复录入数据方法(取值对比)
    判断字符串是否为空字符串
    Linq语法及用法
    new Array( ) 使用
    性能测试
    [排序N大件之]快速排序
    [排序N大件之]归并排序
    [排序N大件之]谢尔排序
  • 原文地址:https://www.cnblogs.com/chenjx85/p/8967276.html
Copyright © 2011-2022 走看看