开发者社区> 李博 bluemind> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

[LeetCode] Max Consecutive Ones 最大连续1的个数

简介:
+关注继续查看

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

 

这道题让我们求最大连续1的个数,不是一道难题。我们可以遍历一遍数组,用一个计数器cnt来统计1的个数,方法是如果当前数字为0,那么cnt重置为0,如果不是0,cnt自增1,然后每次更新结果res即可,参见代码如下:

解法一:

class Solution {
public:
    int findMaxConsecutiveOnes(vector<int>& nums) {
        int res = 0, cnt = 0;
        for (int num : nums) {
            cnt = (num == 0) ? 0 : cnt + 1;
            res = max(res, cnt);
        }
        return res;
    }
};

由于是个二进制数组,所以数组中的数字只能是0或1,那么连续1的和跟个数相等,所以我们可以计算和,通过加上num,再乘以num来计算,如果当前数字是0,那么sum就被重置为0,还是要更新结果res,参见代码如下:

解法二:

class Solution {
public:
    int findMaxConsecutiveOnes(vector<int>& nums) {
        int res = 0, sum = 0;
        for (int num : nums) {
            sum = (sum + num) * num;
            res = max(res, sum);
        }
        return res;
    }
};

本文转自博客园Grandyang的博客,原文链接:最大连续1的个数Max Consecutive Ones ,如需转载请自行联系原博主。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Hive Tunning(二)优化存储
《Hive Tunning》读后小记第二篇——Hive Tunning(二)优化存储。
1232 0
Hive之存储格式
Hive之存储格式
2285 0
windows c/c++ 代码运行时间,毫秒级
#pragma once /* //计算代码段运行时间的类 // */ #include #ifndef ComputeTime_h #define ComputeTime_h class ComputeTime { private: int Initial...
678 0
图的简单应用(C/C++实现)
存档: 1 #include 2 #include 3 #define maxv 10//定义最大顶点数 4 typedef char elem;//图中顶点的数据类型 5 #include "graph.
899 0
Atom + activate-power-mode震屏插件Windows7下安装
Atom是Github推出的一个文本编辑器,搜索一下大概是给Web前端用的,最近比较火的是他的一个插件activate-power-mode,可以实现打字屏振效果。 用来装装逼还是挺适合的,本来想试试能不能像sublimetext一样能编译C/C++之类的文件,后来发现根本不行,google到的也只有一些零碎的makefile之类的东西,没什么卵用, 所以现在这个文本编辑器真的只能用来装装逼。
802 0
c函数习记
1,user groups 篇幅 the length of an article;   fgetgrent(从指定的文件来读取组格式)   相关related functions;fgetpwent   headers files includes:     #include     ...
428 0
懂编译真的可以为所欲为|不同前端框架下的代码转换
作者:闲鱼技术-玉缜 背景 整个前端领域在这几年迅速发展,前端框架也在不断变化,各团队选择的解决方案都不太一致,此外像小程序这种跨端场景和以往的研发方式也不太一样。在日常开发中往往会因为投放平台的不一样需要进行重新编码。
3224 0
ReactNative0.63正式版发布:LogBox
ReactNative0.63正式版发布:LogBox
0 0
【网络安全篇】--HTML基础(预计学习时间:30分钟)从此以后不迷糊~
🏆今日学习目标: 🍀学习HTML基础 ✅创作者:贤鱼
0 0
%C和%S区别
%C和%S区别
0 0
+关注
李博 bluemind
云栖社区Java、Redis、MongoDB运营小编,有意合作请联系钉钉:15810436147
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载