Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ebs
- FastAPI
- 쿠버네티스
- Network
- AZURE
- leetcode
- Deployment
- K8S
- dockerfile
- AZ-900
- AWS
- elasticsearch
- event loop
- EC2
- Python
- intervals
- POD
- Django
- EKS
- 자바스크립트
- asyncio
- Kubernetes
- DevOps
- IAC
- docker
- terraform
- ansible
- Service
- WSGI
- asgi
Archives
- Today
- Total
궁금한게 많은 개발자 노트
[ leetcode ] 334. Increasing Triplet Subsequence 본문
해당 문제는 숫자로 이루어진 배열에서, 서로 다른 인덱스 i, j, k가 i < j < k관계를 이루고, index에 존재하는 값도
nums[i] < nums[j] < nums[k]를 이루는 i, j, k가 존재하는지 여부를 판단하는 문제입니다.
연속성을 가질 필요는 없지만 해당 조건을 만족하기 위해서는 두 변수가 필요하고, 한 변수에는 가장 작은 값을 업데이트하고, 두 번째 변수에는 첫 변수보다 높은 값이 나타나면 업데이트, 그리고 세번째 아이템을 만났을 때 두번 째 변수보다 크다면 해당 조건을 만족하는 i, j, k가 존재한다는 의미입니다.
첫번째 변수가 채워졌는데 배열에서 다음 값이 더 작다면 다시 첫변수를 업데이트해주고, 더 크다면 두번째를 채우고, 두번째보다 더 큰 값이 나오면 조건을 만족한다고 반환합니다.
class Solution {
public:
bool increasingTriplet(vector<int>& nums) {
int one = INT_MAX, two = INT_MAX;
for (int i = 0; i < nums.size(); i++) {
if (nums[i] <= one) one = nums[i];
else if (nums[i] <= two) two = nums[i];
else return true;
}
return false;
}
};
'Algorithm' 카테고리의 다른 글
[ leetcode ] 128. Longest Consecutive Sequence (0) | 2023.07.19 |
---|---|
[ leetcode ] 445. Add Two Numbers II (0) | 2023.07.17 |
[ leetcode ] 1218. Longest Arithmetic Subsequence of Given Difference (0) | 2023.07.14 |
[ leetcode ] 198. House Robber (0) | 2023.07.14 |
[ leetcode ] 207. Course Schedule (0) | 2023.07.14 |
Comments