๐ป Coding Problems Solving/Two Pointers | Binary Search| LinkedList
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฐ์๋ ๋ถ๋ถ ์์ด์ ํฉ (์๋ฐ java)
Kim_dev
2023. 5. 15. 22:22
1. ๋ฌธ์ : https://school.programmers.co.kr/learn/courses/30/lessons/178870
2. ํ์ด
ํฌํฌ์ธํฐ ํ์ฉ ๋๊ฐ๋ก ์์ํด์ K๊ฐ ๊ธฐ์ค์ผ๋ก L,R์์ง์ฌ์ฃผ๋ ํ์ด๋ฐฉ์
3. ์ฝ๋
class Solution {
public int[] solution(int[] sequence, int k) {
int left = 0;
int right = 0;
int sum = 0;
int size = sequence.length;
int ans1 = 0;
int ans2 = 0;
for(right=0; right<sequence.length; right++) {
sum += sequence[right];
while(sum > k) {
sum -= sequence[left];
left++;
}
if(sum == k) {
if(size > right-left) {
size = right-left;
ans1 = left;
ans2 = right;
}
else if(size == right-left) {
ans1 = Math.min(ans1, left);
ans2 = Math.min(ans2, right);
}
}
}
return new int[] {ans1, ans2};
}
}