牛客刷题笔记-二维数组中的查找
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; } }
- 方法二:暴力搜索
- 暴力搜索也是要动脑子的,怎么样去搜索,毕竟是有序的数组.
从左下或者右上开始寻找