반응형
for문 두 번 돌려도 되지만 시간 초과.
대신 뒤에서부터 최댓값을 계산하면서 vector에는 앞에서부터 값을 추가해주면 된다.
class Solution {
public:
vector<int> replaceElements(vector<int>& arr) {
vector<int>ans;
int max = 0;
ans.insert(ans.begin(),-1);
for(int i = arr.size()-1;i>0;i--){
if(arr[i] > max)
max = arr[i];
ans.insert(ans.begin(),max);
}
return ans;
}
};
push_back은 뒤에서 추가하는 거고
insert를 사용하면 앞에서 추가한다.
*참고*
반응형
'IT > 알고리즘' 카테고리의 다른 글
37] Leetcode 1380. Lucky Numbers in a Matrix (0) | 2020.07.21 |
---|---|
36] Leetcode 1460. Make Two Arrays Equal by Reversing Sub-arrays (0) | 2020.07.21 |
34] Leetcode 1351. Count Negative Numbers in a Sorted Matrix (0) | 2020.07.19 |
33] Leetcode 1304. Find N Unique Integers Sum up to Zero (0) | 2020.07.15 |
32] Leetcode 807. Max Increase to Keep City Skyline (0) | 2020.07.12 |
댓글