Skip to content

Commit f5cb809

Browse files
committed
update: 33 & 153 & 154
1 parent 0d214bb commit f5cb809

File tree

4 files changed

+87
-0
lines changed
  • src
    • find-minimum-in-rotated-sorted-array
    • find-minimum-in-rotated-sorted-array-ii
    • search-in-rotated-sorted-array-ii

4 files changed

+87
-0
lines changed

README.md

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ This is the solutions collection of my LeetCode submissions, most of them are pr
4747
|73|[Set Matrix Zeroes](https://leetcode.com/problems/set-matrix-zeroes/) | [JavaScript](./src/set-matrix-zeroes/res.js)|Medium|
4848
|75|[Sort Colors](https://leetcode.com/problems/sort-colors/) | [JavaScript](./src/sort-colors/res.js)|Medium|
4949
|80|[Remove Duplicates from Sorted Array II](https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/) | [JavaScript](./src/remove-duplicates-from-sorted-array-ii/res.js)|Medium|
50+
|81|[Search in Rotated Sorted Array II](https://leetcode.com/problems/search-in-rotated-sorted-array-ii/) | [JavaScript](./src/search-in-rotated-sorted-array-ii/res.js)|Medium|
5051
|88|[ Merge Sorted Array](https://leetcode.com/problems/merge-sorted-array/) | [JavaScript](./src/merge-sorted-array/res.js)|Medium|
5152
|91|[Decode Ways](https://leetcode.com/problems/decode-ways/) | [JavaScript](./src/decode-ways/res.js)|Medium|
5253
|93|[Restore IP Addresses](https://leetcode.com/problems/restore-ip-addresses/) | [JavaScript](./src/restore-ip-addresses/res.js)|Medium|
@@ -64,6 +65,8 @@ This is the solutions collection of my LeetCode submissions, most of them are pr
6465
|137|[Single Number II](https://leetcode.com/problems/single-number-ii/) | [JavaScript](./src/single-number-ii/res.js)|Medium|
6566
|151|[Reverse Words in a String](https://leetcode.com/problems/reverse-words-in-a-string/) | [JavaScript](./src/reverse-words-in-a-string/res.js)|Medium|
6667
|152|[Maximum Product Subarray](https://leetcode.com/problems/maximum-product-subarray/) | [JavaScript](./src/maximum-product-subarray/res.js)|Medium|
68+
|153|[Find Minimum in Rotated Sorted Array](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/) | [JavaScript](./src/find-minimum-in-rotated-sorted-array/res.js)|Medium|
69+
|154|[Find Minimum in Rotated Sorted Array II](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/) | [JavaScript](./src/find-minimum-in-rotated-sorted-array-ii/res.js)|Medium|
6770
|164|[Maximum Gap](https://leetcode.com/problems/maximum-gap/) | [JavaScript](./src/maximum-gap/res.js)|Hard|
6871
|165|[Compare Version Numbers](https://leetcode.com/problems/compare-version-numbers/) | [JavaScript](./src/compare-version-numbers/res.js)|Medium|
6972
|175|[Combine Two Tables](https://leetcode.com/problems/combine-two-tables/)| [SQL](./src/combine-two-tables/res.txt)|Easy|
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
var findMin = function(nums) {
6+
const len = nums.length;
7+
let left = 0, right = len - 1;
8+
9+
while(left < right) {
10+
const mid = (left + right) >> 1;
11+
12+
if (nums[mid] > nums[right]) {
13+
left = mid + 1;
14+
} else if (nums[mid] < nums[right]) {
15+
right = mid;
16+
} else {
17+
right -= 1;
18+
}
19+
}
20+
21+
return nums[left];
22+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
var findMin = function(nums) {
6+
const len = nums.length;
7+
let left = 0, right = len-1;
8+
if (len === 1 || nums[left] < nums[right]) return nums[0];
9+
10+
while (left < right) {
11+
const mid = (left + right) >> 1;
12+
13+
if (nums[left] > nums[mid] || nums[mid] < nums[right]) {
14+
right = mid;
15+
} else if (nums[left] < nums[mid] || nums[mid] > nums[right]) {
16+
left = mid + 1;
17+
}
18+
}
19+
20+
return nums[left];
21+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} target
4+
* @return {boolean}
5+
*/
6+
var search = function(nums, target) {
7+
const len = nums.length;
8+
9+
if(nums[0] === nums[len-1]) {
10+
if (nums[0] === target) return true;
11+
else {
12+
let index = false;
13+
nums.map((e, i) => {
14+
if (e === target) index = i;
15+
});
16+
if (index) return true;
17+
}
18+
} else {
19+
return subsearch(nums, target);
20+
}
21+
22+
return false;
23+
};
24+
25+
const subsearch = (nums, target) => {
26+
let lo = 0, hi = nums.length - 1;
27+
28+
while (lo < hi) {
29+
let mid = (lo + hi) >> 1;
30+
31+
if (nums[0] <= nums[mid] && (target > nums[mid] || target < nums[0])) {
32+
lo = mid + 1;
33+
} else if (target < nums[0] && target > nums[mid]) {
34+
lo = mid + 1;
35+
} else {
36+
hi = mid;
37+
}
38+
}
39+
40+
return lo == hi && nums[lo] == target;
41+
}

0 commit comments

Comments
 (0)