Max Consecutive Ones Leetcode 솔루션

난이도 쉽게
자주 묻는 질문 아마존
알고리즘 배열 코딩 인터뷰 인터뷰 준비 리트코드 LeetCodeSolutions조회수 38

문제 정책

Max Consecutive Ones 문제에서는 이진 배열이 제공됩니다. 주어진 배열에 존재하는 연속적인 최대 개수를 찾아야합니다.
입력 배열에는 0과 1 만 포함됩니다.

[1,1,0,1,1,1]
3

설명 :
처음 두 자리 또는 마지막 세 자리는 연속 된 1입니다.
연속 1의 최대 수는 3입니다.

[0,1,0]
1

설명 :
연속 1의 최대 수는 1입니다.

접근

이 문제를 해결하기 위해 배열의 인덱스를 두 개로 반복 할 수 있습니다. 중첩 while 루프 다음 알고리즘으로 :

1. 이송 중 업데이트 된 최대 연속 1을 저장할 최대 변수를 생성합니다.
2. 첫 번째 인덱스로 변수 i를 만들고 초기화합니다.
3. 이제 while 루프 i < 배열 크기까지.
4. 루프 내에서 현재 인덱스 i의 숫자가 1인지 확인합니다. 1이 아니면 단순히 인덱스 i를 증가시킵니다. 그렇지 않으면 1과 같으면 중첩을 실행하십시오. while 루프 count 변수를 생성하고 0으로 초기화합니다. 그런 다음 해당 중첩에서 연속 1에 대해 배열을 순회합니다. while 루프. 즉, num[i]가 1인 동안 배열을 탐색하고 아래 그림과 같이 현재 연속 1의 개수를 계속 증가시킵니다.

최대 연속 사람
5. 배열의 0 또는 끝을 만난 후 이전 값을 카운트 변수에 저장된 현재 연속 1 카운트와 비교하여 최대 변수를 업데이트합니다.
6. 후 while 루프 최대값을 반환합니다.

실시

Max Consecutive Ones Leetcode 솔루션을위한 C ++ 프로그램

#include <bits/stdc++.h>
using namespace std;

int findMaxConsecutiveOnes(vector<int>& nums) {

    int maximum=0;
    int i=0;

    while(i<nums.size())
    {
        int conOnes=0;
        while(i< nums.size() && nums[i]==1)
        {
            conOnes++;
            i++;
        }

        maximum=max(maximum,conOnes);
        i++;
    }

    return maximum; 
}

int main() 
{
    vector<int> nums={1,1,0,1,1,1};
    cout<<findMaxConsecutiveOnes(nums)<<endl;

  return 0; 
}
3

Max Consecutive Ones Leetcode 솔루션을위한 Java 프로그램

import java.lang.*;

class MaxOnes
{  
    public static int findMaxConsecutiveOnes(int[] nums) 
    {
        int maximum=0;
        int i=0;

        while(i<nums.length)
        {
        int conOnes=0;
        while(i< nums.length && nums[i]==1)
        {
        conOnes++;
        i++;
        }

        maximum=Math.max(maximum,conOnes);

        i++;
        }

        return maximum; 

    }
    
    public static void main(String args[])
    {
        int nums[]={1,1,0,1,1,1};

        System.out.println(findMaxConsecutiveOnes(nums));
        
    }
}
3

Max Consecutive Ones Leetcode 솔루션에 대한 복잡성 분석

시간 복잡성

의 위에) : 시작 인덱스에서 마지막 인덱스까지 배열을 순회하고 각 인덱스를 한 번만 방문합니다. 따라서 시간 복잡도는 선형 O (N)입니다.

공간 복잡성 

O (1) : 우리는 추가 공간을 사용하지 않으므로 사용되는 공간은 일정합니다.

코멘트를 남겨

Translate »