Skip to content

Commit d98127e

Browse files
committed
Update
1 parent 53e69ef commit d98127e

File tree

6 files changed

+121
-12
lines changed

6 files changed

+121
-12
lines changed

src/main/java/com/fibers/algorithm/leetcode/_033/Solution.java

+15-7
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,23 @@ public int search(int[] nums, int target) {
88
int start = 0;
99
int end = nums.length - 1;
1010
while (start <= end) {
11-
if (start == end) {
12-
return target == nums[start] ? start : -1;
13-
}
1411
int mid = (start + end) / 2;
15-
if ((nums[mid] < nums[end] && (nums[mid] < target && target <= nums[end])) ||
16-
((nums[mid] < target || target <= nums[end]) && nums[mid] > nums[end])) {
17-
start = mid + 1;
12+
if (nums[mid] == target) {
13+
return start;
14+
}
15+
16+
if (nums[mid] <= nums[end]) {
17+
if (nums[mid] < target && target <= nums[end]) {
18+
start = mid + 1;
19+
} else {
20+
end = mid - 1;
21+
}
1822
} else {
19-
end = mid;
23+
if (nums[mid] < target || target <= nums[end]) {
24+
start = mid + 1;
25+
} else {
26+
end = mid - 1;
27+
}
2028
}
2129
}
2230
return -1;
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,26 @@
11
package com.fibers.algorithm.leetcode._069;
2+
23
public class Solution {
4+
5+
public int mySqrt(int x) {
6+
if (x <= 1) {
7+
return x;
8+
}
9+
10+
int l = 1;
11+
int r = x;
12+
int result = 0;
13+
14+
while (l <= r) {
15+
int mid = (l + r) / 2;
16+
if (mid <= x / mid) {
17+
l = mid + 1;
18+
result = mid;
19+
} else {
20+
r = mid - 1;
21+
}
22+
}
23+
return result;
24+
}
325
}
4-
26+
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,35 @@
11
package com.fibers.algorithm.leetcode._081;
2+
23
public class Solution {
4+
public boolean search(int[] nums, int target) {
5+
if (nums == null || nums.length == 0) {
6+
return false;
7+
}
8+
int start = 0;
9+
int end = nums.length - 1;
10+
while (start <= end) {
11+
int mid = (start + end) / 2;
12+
if (nums[mid] == target) {
13+
return true;
14+
}
15+
16+
if (nums[mid] < nums[end] || nums[mid] < nums[start]) {
17+
if (nums[mid] < target && target <= nums[end]) {
18+
start = mid + 1;
19+
} else {
20+
end = mid - 1;
21+
}
22+
} else if (nums[mid] > nums[end] || nums[mid] > nums[start]) {
23+
if (nums[mid] > target && target >= nums[start]) {
24+
end = mid - 1;
25+
} else {
26+
start = mid + 1;
27+
}
28+
} else {
29+
end--;
30+
}
31+
}
32+
return false;
33+
}
334
}
4-
35+
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,33 @@
11
package com.fibers.algorithm.leetcode._113;
2+
3+
import com.fibers.algorithm.datastructure.TreeNode;
4+
5+
import java.util.ArrayList;
6+
import java.util.List;
7+
28
public class Solution {
9+
public List<List<Integer>> pathSum(TreeNode root, int sum) {
10+
List<List<Integer>> result = new ArrayList<>();
11+
backtracking(result, new ArrayList<>(), root, sum);
12+
return result;
13+
}
14+
15+
16+
private void backtracking(List<List<Integer>> result, List<Integer> list, TreeNode root, int sum) {
17+
if (root == null) {
18+
return;
19+
}
20+
21+
list.add(root.val);
22+
23+
if(root.left == null && root.right == null && sum == root.val){
24+
result.add(new ArrayList<>(list));
25+
26+
}else{
27+
backtracking(result, list, root.left, sum - root.val);
28+
backtracking(result, list, root.right, sum - root.val);
29+
}
30+
list.remove(list.size() - 1);
31+
}
332
}
4-
33+
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,19 @@
11
package com.fibers.algorithm.leetcode._153;
2+
23
public class Solution {
4+
public int findMin(int[] nums) {
5+
if (nums == null || nums.length == 0) {
6+
return -1;
7+
}
8+
9+
int i = 1;
10+
for (; i < nums.length; i++) {
11+
if (nums[i] < nums[i - 1]) {
12+
break;
13+
}
14+
}
15+
16+
return i == nums.length ? nums[0] : nums[i];
17+
}
318
}
4-
19+
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
package com.fibers.algorithm.leetcode._796;
2+
23
public class Solution {
4+
public boolean rotateString(String A, String B) {
5+
return A.length() == B.length() && (A + A).contains(B);
6+
}
37
}
4-
8+

0 commit comments

Comments
 (0)