1. 贪心

1.1

2. 二分查找

  1. public int binarySearch(int[] array, int target) {
  2. int left = 0, right = array.length - 1;
  3. while (left < right) {
  4. int mid = (left + right) / 2;
  5. if (array[mid] == target) {
  6. return mid;
  7. }
  8. if (array[mid] < target) {
  9. left = mid + 1;
  10. } else {
  11. right = right - 1;
  12. }
  13. }
  14. return -1;
  15. }

2.1 sqrt(x)(69)

  • 二分查找
  • 牛顿迭代法

2.2 有效的完全平方数(367)

2.3 搜索旋转排序数组(22)

2.4 搜索二维矩阵(74)

2.5 寻找旋转排序数组中的最小值(153)