File tree Expand file tree Collapse file tree 3 files changed +80
-0
lines changed
find-minimum-in-rotated-sorted-array Expand file tree Collapse file tree 3 files changed +80
-0
lines changed Original file line number Diff line number Diff line change 1+ // ์๊ฐ๋ณต์ก๋: O(log n)
2+ // ๊ณต๊ฐ๋ณต์ก๋: O(1)
3+
4+ /**
5+ * @param {number[] } nums
6+ * @return {number }
7+ */
8+ var findMin = function ( nums ) {
9+ let leftIdx = 0 ;
10+ let rightIdx = nums . length - 1 ;
11+
12+ if ( nums . length === 1 ) return nums [ 0 ]
13+
14+ while ( leftIdx <= rightIdx ) {
15+ if ( nums [ leftIdx ] < nums [ rightIdx ] ) return nums [ leftIdx ]
16+
17+ let midIdx = Math . floor ( ( leftIdx + rightIdx ) / 2 ) ;
18+
19+ if ( nums [ midIdx ] > nums [ midIdx + 1 ] ) {
20+ return nums [ midIdx + 1 ]
21+ }
22+
23+ if ( nums [ leftIdx ] < nums [ midIdx ] && nums [ leftIdx ] > nums [ rightIdx ] ) {
24+ leftIdx = midIdx
25+ } else {
26+ rightIdx = midIdx
27+ }
28+ }
29+
30+ return nums [ 0 ]
31+ } ;
32+
Original file line number Diff line number Diff line change 1+ // ์๊ฐ๋ณต์ก๋: O(n)
2+ // ๊ณต๊ฐ๋ณต์ก๋: O(1)
3+
4+ /**
5+ * Definition for singly-linked list.
6+ * function ListNode(val) {
7+ * this.val = val;
8+ * this.next = null;
9+ * }
10+ */
11+
12+ /**
13+ * @param {ListNode } head
14+ * @return {boolean }
15+ */
16+ var hasCycle = function ( head ) {
17+ let fastPointer = head ;
18+ let slowPointer = head ;
19+
20+ while ( fastPointer && fastPointer . next ) {
21+ slowPointer = slowPointer . next ;
22+ fastPointer = fastPointer . next . next
23+
24+ if ( fastPointer === slowPointer ) return true
25+
26+ }
27+
28+ return false
29+ } ;
Original file line number Diff line number Diff line change 1+ // ์๊ฐ๋ณต์ก๋: O(n)
2+ // ๊ณต๊ฐ๋ณต์ก๋: O(1)
3+
4+ /**
5+ * @param {number[] } nums
6+ * @return {number }
7+ */
8+ var maxSubArray = function ( nums ) {
9+ let maxNum = - Infinity ;
10+ let prevSum = - Infinity ;
11+
12+ for ( let i = 0 ; i < nums . length ; i ++ ) {
13+ prevSum = Math . max ( prevSum + nums [ i ] , nums [ i ] )
14+ maxNum = Math . max ( prevSum , maxNum )
15+ }
16+
17+
18+ return maxNum
19+ } ;
You canโt perform that action at this time.
0 commit comments