跳至主要內容

485. 最大连续 1 的个数


485. 最大连续 1 的个数open in new window

🟢   🔖  数组  🔗 力扣open in new window LeetCodeopen in new window

题目

Given a binary array nums, return the maximum number of consecutive1 ' s in the array.

Example 1:

Input: nums = [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.

Example 2:

Input: nums = [1,0,1,1,0,1]

Output: 2

Constraints:

  • 1 <= nums.length <= 10^5
  • nums[i] is either 0 or 1.

题目大意

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

注意:

  • 输入的数组只包含 0 和 1。
  • 输入数组的长度是正整数,且不超过 10,000。

解题思路

  • 给定一个二进制数组, 计算其中最大连续 1 的个数。
  • 简单题。扫一遍数组,累计 1 的个数,动态维护最大的计数,最终输出即可。

代码

/**
 * @param {number[]} nums
 * @return {number}
 */
var findMaxConsecutiveOnes = function (nums) {
	let max = 0;
	let count = 0;
	for (let i = 0; i < nums.length; i++) {
		if (nums[i] == 1) {
			count++;
		} else {
			count = 0;
		}
		max = Math.max(max, count);
	}
	return max;
};

相关题目

题号标题题解标签难度
487最大连续1的个数 II 🔒open in new window数组 动态规划 滑动窗口
1004最大连续1的个数 IIIopen in new window[✓]数组 二分查找 前缀和 1+
1446连续字符open in new window字符串
1869哪种连续子字符串更长open in new window字符串
2414最长的字母序连续子字符串的长度open in new window字符串
2511最多可以摧毁的敌人城堡数目open in new window数组 双指针