485. Max Consecutive Ones
선택한 UI 언어에 맞게 문제 텍스트를 러시아어에서 번역합니다. 코드는 변경하지 않습니다.
Дан бинарный 배열 nums, return максимальное количество последовательных единиц в 배열е.
예제:
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.
C# 해법
매칭됨/원본public class Solution {
public int FindMaxConsecutiveOnes(int[] nums) {
int count = 0;
int maxCount = 0;
foreach (int num in nums) {
if (num == 1) {
count += 1;
} else {
maxCount = Math.Max(maxCount, count);
count = 0;
}
}
return Math.Max(maxCount, count);
}
}
C++ 해법
자동 초안, 제출 전 검토#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
public int FindMaxConsecutiveOnes(vector<int>& nums) {
int count = 0;
int maxCount = 0;
foreach (int num in nums) {
if (num == 1) {
count += 1;
} else {
maxCount = max(maxCount, count);
count = 0;
}
}
return max(maxCount, count);
}
}
Java 해법
매칭됨/원본class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int count = 0;
int maxCount = 0;
for (int num : nums) {
if (num == 1) {
count += 1;
} else {
maxCount = Math.max(maxCount, count);
count = 0;
}
}
return Math.max(maxCount, count);
}
}
JavaScript 해법
매칭됨/원본var findMaxConsecutiveOnes = function(nums) {
let count = 0
let maxCount = 0
for (let num of nums) {
if (num === 1) {
count += 1
} else {
maxCount = Math.max(maxCount, count)
count = 0
}
}
return Math.max(maxCount, count)
}
Python 해법
매칭됨/원본class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
count = 0
maxCount = 0
for num in nums:
if num == 1:
count += 1
else:
maxCount = max(maxCount, count)
count = 0
return max(maxCount, count)
Go 해법
매칭됨/원본func findMaxConsecutiveOnes(nums []int) int {
count := 0
maxCount := 0
for _, num := range nums {
if num == 1 {
count++
} else {
if count > maxCount {
maxCount = count
}
count = 0
}
}
if count > maxCount {
maxCount = count
}
return maxCount
}
Algorithm
Поддерживайте счетчик для подсчета единиц и увеличивайте его на 1 при встрече единицы.
Когда встречаете ноль, используйте текущий счетчик единиц для нахождения максимального количества последовательных единиц на данный момент, затем сбросьте счетчик единиц на 0.
В конце return максимальное значение.
😎
Vacancies for this task
활성 채용 with overlapping task tags are 표시됨.
아직 활성 채용이 없습니다.