우규이인우윀
Eager To Learn 🌌
우규이인우윀
전체 방문자
였늘
μ–΄μ œ

λΈ”λ‘œκ·Έ 메뉴

  • 🏑 ν™ˆ
  • πŸš€ κΉƒν—ˆλΈŒ
  • β›… νƒœκ·Έ ν΄λΌμš°λ“œ
  • λΆ„λ₯˜ 전체보기 (217)
    • πŸ‘¨πŸ»‍πŸ’» PS (170)
      • JAVA (82)
      • MYSQL (1)
      • Docker (2)
      • PYTHON (24)
      • LeetCode 150 (39)
      • Algorithm 기법 (1)
      • 바킹독 (21)
    • λΈ”λ‘œκ·Έ 이사 (0)
    • Error (1)
    • CS (15)
      • DataBase (2)
      • OS (7)
      • Network (1)
      • Spring (1)
      • 자료ꡬ쑰 (3)
      • Java (1)
    • Learned (7)
      • Spring (7)
    • κ°œλ°œμ„œμ  (15)
      • 가상 λ©΄μ ‘ μ‚¬λ‘€λ‘œ λ°°μš°λŠ” λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œ 섀계 기초 (1)
      • 였브젝트 - 쑰영호 (7)
      • μΉœμ ˆν•œ SQL νŠœλ‹ (7)
    • 회고 (2)
hELLO Β· Designed By μ •μƒμš°.
우규이인우윀

Eager To Learn 🌌

πŸ‘¨πŸ»‍πŸ’» PS/LeetCode 150

[Java] 153. Find Minimum in Rotated Sorted Array

2023. 9. 4. 09:17

문제 νŒŒμ•…

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];
    }
}

 

κ²°κ³Ό

 


πŸ“– 회고

이번 μ£Όμ°¨ λ¬Έμ œλ“€μ€ 이뢄 탐색을 λ‹¨μˆœνžˆ νŠΉμ • μ›μ†Œλ₯Ό μ°ΎλŠ”λ°μ— μ‚¬μš©ν•œ 것이 μ•„λ‹ˆλΌ

 

μ‘μš©ν•΄μ„œ ν™œμš©ν•΄μ•Όν•˜λŠ” λ¬Έμ œλ“€μ΄ λ§Žμ•˜λ‹€.

 

λΉ„μŠ·ν•œ μœ ν˜•λ“€μ„ ν’€μ–΄λ³΄λ‹ˆ μ–΄λ–€μ‹μœΌλ‘œ 쑰건을 μƒκ°ν•΄μ•Όν•˜λŠ”μ§€ 감이 온 것 κ°™λ‹€.

    'πŸ‘¨πŸ»‍πŸ’» PS/LeetCode 150' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [Java] 230. Kth Smallest Element in a BST
    • [Java] 530. Minimum Absolute Difference in BST
    • [Java] 33. Search in Rotated Sorted Array
    • [Java] 162. Find Peak Element
    우규이인우윀
    우규이인우윀
    개발자 κΏˆλ‚˜λ¬΄

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”