33. Search in Rotated Sorted Array
class Solution {
public int search(int[] nums, int target) {
for (int i = 0; i < nums.length; i++) {
if (nums[i] == target) {
return i;
}
}
return -1;
}
}
Runtime: 0 ms, faster than 100.00% of Java online submissions for Search in Rotated Sorted Array.
Memory Usage: 38 MB, less than 97.97% of Java online submissions for Search in Rotated Sorted Array.
언제부터였을까요.. 이렇게 꿀 솔루션을 쓰면 양심이 찔리기 시작한게...ㅎ
class Solution {
public int search(int[] nums, int target) {
int s = 0;
int e = nums.length - 1;
while (s <= e) {
int m = s + (e - s) / 2;
if (nums[m] == target) return m;
else if (nums[s] <= nums[m]) {
if (nums[s] <= target && target < nums[m]) {
e = m - 1;
} else {
s = m + 1;
}
} else {
if (nums[e] >= target && target > nums[m]) {
s = m + 1;
} else {
e = m - 1;
}
}
}
return -1;
}
}
Runtime: 0 ms, faster than 100.00% of Java online submissions for Search in Rotated Sorted Array.
Memory Usage: 38.7 MB, less than 21.05% of Java online submissions for Search in Rotated Sorted Array.
이제 좀 알겠는 binary search 이용~
peak가 앞에 있는지 뒤에 있는지 찾은 후 값에 따라 조정.
루션이를 보니 저랑 똑같이 풀었어서 뿌듯했네요^^
Author And Source
이 문제에 관하여(33. Search in Rotated Sorted Array), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jwade/33.-Search-in-Rotated-Sorted-Array저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)