λ¬Έμ νμ
rotated λ λ°°μ΄ nums
μ μ΅μκ°μ μ°Ύλ λ¬Έμ μ΄λ€.
μκ° λ³΅μ‘λλ O(logN) μ λ§μ‘±ν΄μΌνλ€.
νμ΄
1οΈβ£ μ΄λΆ νμμ μ΄μ©ν νμ΄
π‘ λ μ€λ₯Έ Idea
μ΄μ μ νμλ Search in Rotated Sorted Array λ¬Έμ μ μΌλΆλΆκ³Ό κ°μ λ¬Έμ λΌμ μ½κ² ν΄κ²°ν μ μμλ€.
μ΄λΆ νμμ μ§ννλλ°,mid
μμΉμ κ°κ³Όright
μμΉμ κ°μ λΉκ΅ν΄μmid
κ°μ΄ μμ κ²½μ°,mid
μμΉμ μμλ€μ μ€λ¦μ°¨μμΌλ‘ ꡬμ±λμ΄ μμμ 보μ₯ν μ μκΈ° λλ¬Έμ νμ μμμ μΌμͺ½ μμμΌλ‘ μ΄λνλ λ°©μμΌλ‘ ꡬννλ©΄ λλ€.
class Solution {
public int findMin(int[] nums) {
int left = 0, right = nums.length - 1;
while (left < right) {
int mid = (left + right) / 2;
System.out.println(mid);
if (nums[mid] < nums[right]) {
right = mid;
} else {
left = mid + 1;
}
}
return nums[left];
}
}
κ²°κ³Ό
π νκ³
μ΄λ² μ£Όμ°¨ λ¬Έμ λ€μ μ΄λΆ νμμ λ¨μν νΉμ μμλ₯Ό μ°Ύλλ°μ μ¬μ©ν κ²μ΄ μλλΌ
μμ©ν΄μ νμ©ν΄μΌνλ λ¬Έμ λ€μ΄ λ§μλ€.
λΉμ·ν μ νλ€μ νμ΄λ³΄λ μ΄λ€μμΌλ‘ 쑰건μ μκ°ν΄μΌνλμ§ κ°μ΄ μ¨ κ² κ°λ€.