1. 二维数组中的查找

参考Leetcode35

  1. 方法一:二分查找
  • 二分查找的模板 ==注意边界条件==
    class Solution {
      public int searchInsert(int[] nums, int target) {
          int left = 0, right = nums.length - 1; // 注意
          while(left <= right) { // 注意
              int mid = (left + right) / 2; // 注意
              if(nums[mid] == target) { // 注意
                  // 相关逻辑
              } else if(nums[mid] < target) {
                  left = mid + 1; // 注意
              } else {
                  right = mid - 1; // 注意
              }
          }
          // 相关返回值
          return 0;
      }
    }
    class Solution {
      public int searchInsert(int[] nums, int target) {
          int left = 0, right = nums.length; // 注意
          while(left < right) { // 注意
              int mid = (left + right) / 2; // 注意
              if(nums[mid] == target) {
                  // 相关逻辑
              } else if(nums[mid] < target) {
                  left = mid + 1; // 注意
              } else {
                  right = mid; // 注意
              }
          }
          // 相关返回值
          return 0;
      }
    }
  1. 方法二:暴力搜索
  • 暴力搜索也是要动脑子的,怎么样去搜索,毕竟是有序的数组.

    从左下或者右上开始寻找