写点什么

【LeetCode】最大连续 1 的个数 Java 题解

用户头像
HQ数字卡
关注
发布于: 2021 年 02 月 15 日

题目

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

例子如下:

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


  • 输入的数组只包含 0 和1

  • 输入数组的长度是正整数,且不超过 10,000。


代码

public class DayCode {    public static void main(String[] args) {        int[] nums = new int[]{1,1,0,1,1,1};        Integer ans = new DayCode().findMaxConsecutiveOnes(nums);        System.out.println("ans is " + ans);    }
/** * https://leetcode-cn.com/problems/max-consecutive-ones/ * @param nums * @return */ public int findMaxConsecutiveOnes(int[] nums) { int ans = 0; int count = 0; for (int i = 0; i < nums.length; i++) { if (nums[i] == 1) { count += 1; } else { ans = Math.max(ans, count); count = 0; } } ans = Math.max(ans, count); return ans; }}
复制代码


总结

  • 上述代码的时间复杂度是 O(n),空间复杂度是 O(1)。

  • 今天的 LeetCode 题目比较简单,是数组的简单应用,继续努力再刷一题。


发布于: 2021 年 02 月 15 日阅读数: 11
用户头像

HQ数字卡

关注

还未添加个人签名 2019.09.29 加入

LeetCode,略懂后端的RD

评论

发布
暂无评论
【LeetCode】最大连续1的个数Java题解