美文网首页
2021.2.15每日一题

2021.2.15每日一题

作者: Yaan9 | 来源:发表于2021-02-15 09:57 被阅读0次

485. 最大连续1的个数

给定一个二进制数组, 计算其中最大连续1的个数。
示例 1:

输入: [1,1,0,1,1,1]
输出: 3
解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.

题解

一次遍历数组

定义一个maxCount记录当前数组中最多连续1的个数。从头遍历数组,遇到1时,count++,并与maxCount比较,更新最多连续1的值;当遇到0时,清空count。最后返回maxCount即可。

    public int findMaxConsecutiveOnes2(int[] nums) {
        int maxCount = 0;
        int count = 0;
        int length = nums.length;
        for (int i = 0; i < length; i++) {
            if (nums[i] == 1) {
                count++;
                maxCount = Math.max(maxCount, count);
            } else {
                count = 0;
            }
        }
        return maxCount;
    }

双指针

套用滑动窗口的模板即可,最大的连续1个数用right-left记录。当遇到0时,要使左边界移到当前右边界。

    public int findMaxConsecutiveOnes(int[] nums) {
        int maxCount = 0;
        int n = nums.length;
        int left = 0;
        int right = 0;
        while (right < n) {
            if (nums[right] == 1) {
                right++;
            } else {
                maxCount = Math.max(maxCount, right - left);
                right++;
                left = right;
            }
        }
        return Math.max(maxCount, right - left);
    }

相关文章

  • 2021.2.15每日一题

    485. 最大连续1的个数[https://leetcode-cn.com/problems/max-consec...

  • Day 4 Project 我的微信好友

    附:每日一题

  • 每日复盘分享

    90/Day26/有效学习,从每日复盘分享开始 2021.2.15关键词:情景面试设计 【招聘管理篇】怎么去设计一...

  • 2021.2.15

    费湾的天,依旧那么暖。长江坝外的沙滩上一时聚集了不少孩童,他们吹着风铲着细软的河沙。江滩上积的巨石块经风霜洗礼而显...

  • 2021.2.15

    今天我起的有点早,想起来看看书,来提高自己的写作能力和丰富精神世界。我随便挑了一本看,是关于经济的,看了一章就觉得...

  • 2021.2.15

    今天气温下降,有点倒春寒的感觉了。 桃桃昨晚睡太晚,一天都不受控制吵的飞起,把外婆气的不行。看来小朋友还是不能太晚...

  • 2021.2.15

    漂,没有归属感,没有安全感,没有家的感觉,还是觉得一个人在漂,唯独多了个女儿陪伴我!

  • 2021.2.15

    “我们的生命太短,来不及见证那些遥远到令人恍惚的词语,比如天长地久,海角天涯,碧落黄泉,沧海桑田。 所以,要活下去...

  • 2021.2.15

    兜兜转转还是吃了椰子鸡,提前被服务员领进到了个绝佳位置~畅谈一晚上,很满足~

  • 2021.2.15

    睡醒就不想上班了可不是周一综合征 假期都是断断续续那就多睡觉吧 继续看山海情 真的为他们深深感动 洗头洗澡拿标本分...

网友评论

      本文标题:2021.2.15每日一题

      本文链接:https://www.haomeiwen.com/subject/uqdpxltx.html