Skip to content

Commit

Permalink
find minimum in rotated sorted array solution
Browse files Browse the repository at this point in the history
  • Loading branch information
wad-jangjaejeong committed Oct 7, 2024
1 parent 0720200 commit 6552aef
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions find-minimum-in-rotated-sorted-array/jaejeong1.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
class Solution {
public int findMin(int[] nums) {
// TC: O(log N)
// SC: O(1)
var left = 1; // N๋ฒˆ ํšŒ์ „ํ•ด ์ด๋ฏธ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์ผ ๊ฒฝ์šฐ 0์œผ๋กœ ์‹œ์ž‘ํ•˜๋ฉด ๋ฃจํ”„๊ฐ€ ์•ˆ๋๋‚จ. 1๋กœ ์‹œ์ž‘
var right = nums.length-1;

while (left <= right) { // left๊ฐ€ right๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์„๋•Œ๊นŒ์ง€
var mid = (left + right) / 2;
if (nums[mid - 1] > nums[mid]) { // mid - 1 ์š”์†Œ๊ฐ€ mid ๋ณด๋‹ค ๊ฐ’์ด ํฌ๋ฉด ๋ณ€๊ณก์ ์„ ์ฐพ์€ ๊ฒƒ. ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜
return nums[mid];
}

if (nums[mid] > nums[0]) { // ๋ณ€๊ณก์ ์ด ์•„๋‹ˆ๊ณ , 0๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ณด๋‹ค mid ์š”์†Œ๊ฐ€ ๊ฐ’์ด ํฌ๋ฉด ์ •๋ ฌ์ด ์ž˜ ๋˜์–ด ์žˆ๋Š”๊ฒƒ. ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํƒ์ƒ‰
left = mid + 1;
} else {
right = mid - 1;
}
}

return nums[0]; // N๋ฒˆ ํšŒ์ „ํ•ด ์ด๋ฏธ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์ผ ๊ฒฝ์šฐ 0๋ฒˆ์งธ ์ธ๋ฑ์Šค ์š”์†Œ ๋ฐ˜ํ™˜
}
}

0 comments on commit 6552aef

Please sign in to comment.