본문 바로가기

Algorithm/Implementation

(C++) - LeetCode (easy) 1646. Get Maximum in Generated Array

반응형

https://leetcode.com/problems/get-maximum-in-generated-array/description/

간단 구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

정답 변수 ans, vector nums를 선언 후 각각 0, {0,1}로 초기화 해줍니다.

📔 풀이과정

* n < 2라면 nums[n]을 반환합니다.2 ~ n까지 for loop를 수행하며 nums에 들어갈 원소값을 구해 지역변수 nextNum에 저장후 nums에 push_back해줍니다. 이 때 ans, nextNum과 비교해 최댓값을 갱신해줍니다.

📔 정답 출력 | 반환

ans를 반환합니다.


📕 Code

📔 C++

class Solution {
public:
    int getMaximumGenerated(int n) {
        int ans = 0;
        vector <int> nums = {0, 1};
        if (n < 2) return nums[n];
        for(int i = 2; i <= n; i++) {
            int nextNum = nums[i/2];
            if (i % 2) {
                nextNum = nums[i/2] + nums[i/2+1];
            }
            ans = max(ans, nextNum);
            nums.push_back(nextNum);
        }
        return ans;
    }
};

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.