LeetCode #962

Maximum Width Ramp

1개의 풀이 · C++

문제 원문 보기 ↗

SOLUTION INFO

C++ · main.cpp

main.cpp
class Solution {
public:
    int maxWidthRamp(vector<int>& nums) {
        int N = (int)nums.size();
        int M = 50001;
        vector<int> L(M + 1, N + 1), R(M + 1, -1);
        for(int i = 0; i < N; ++i) {
            L[nums[i]] = min(L[nums[i]], i);
            R[nums[i]] = i;
        }
        for(int i = M - 1; i >= 0; --i) R[i] = max(R[i + 1], R[i]);
        int answer = 0;
        for(int i = 0; i < N; ++i)  answer = max(answer, R[nums[i]] - L[nums[i]]);
        return answer;
    }
};

SOLUTION DESCRIPTION

풀이 설명

등록된 풀이 설명이 없습니다.