|
|
@ -27,3 +27,72 @@ class Solution { |
|
|
|
} |
|
|
|
} |
|
|
|
``` |
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[11. 旋转数组的最小数字](https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-de-zui-xiao-shu-zi-lcof/) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```java |
|
|
|
|
|
|
|
class Solution { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public int minArray(int[] numbers) { |
|
|
|
|
|
|
|
int i = 0, j = numbers.length - 1; |
|
|
|
|
|
|
|
while (i < j) { |
|
|
|
|
|
|
|
int m = (i + j) / 2; |
|
|
|
|
|
|
|
if (numbers[m] > numbers[j]) { |
|
|
|
|
|
|
|
i = m + 1; |
|
|
|
|
|
|
|
} else if (numbers[m] < numbers[j]) { |
|
|
|
|
|
|
|
j = m; |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
j--; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return numbers[i]; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[21. 调整数组顺序使奇数位于偶数前面](https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```java |
|
|
|
|
|
|
|
class Solution { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public int[] exchange(int[] nums) { |
|
|
|
|
|
|
|
int i = 0, j = nums.length - 1; |
|
|
|
|
|
|
|
while (i < j) { |
|
|
|
|
|
|
|
if (nums[i] % 2 == 1 && nums[j] % 2 == 0) { |
|
|
|
|
|
|
|
i++; |
|
|
|
|
|
|
|
j--; |
|
|
|
|
|
|
|
} else if (nums[i] % 2 == 1 && nums[j] % 2 == 1) { |
|
|
|
|
|
|
|
i++; |
|
|
|
|
|
|
|
} else if (nums[i] % 2 == 0 && nums[j] % 2 == 1) { |
|
|
|
|
|
|
|
int temp = nums[i]; |
|
|
|
|
|
|
|
nums[i++] = nums[j]; |
|
|
|
|
|
|
|
nums[j--] = temp; |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
j--; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return nums; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```java |
|
|
|
|
|
|
|
class Solution { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public int[] exchange(int[] nums) { |
|
|
|
|
|
|
|
int i = 0, j = nums.length - 1, temp; |
|
|
|
|
|
|
|
while (i < j) { |
|
|
|
|
|
|
|
while (i < j && (nums[i] & 1) == 1) { |
|
|
|
|
|
|
|
i++; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
while (i < j && (nums[j] & 1) == 0) { |
|
|
|
|
|
|
|
j--; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
temp = nums[i]; |
|
|
|
|
|
|
|
nums[i] = nums[j]; |
|
|
|
|
|
|
|
nums[j] = temp; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return nums; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|