《剑指offer》二维数组中的查找
生活随笔
收集整理的這篇文章主要介紹了
《剑指offer》二维数组中的查找
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
解法1:屬于比較傳統的不轉彎的解法,時間復雜度以及空間復雜度比較大
public class Solution {public boolean Find(int target, int [][] array) {if(array.length==0){return false;}for(int i=0;i<array.length;i++){for(int j=0;j<array[i].length;j++){if(array[i][j]==target){return true;}}}return false;} }
解法2:從左下角開始搜
public static boolean Find(int target, int [][] array) {int length=array.length-1;int i=0;while(length>=0&&(i<array[0].length)){ //從左下角開始搜索 if(array[length][i]<target){i++;}else if(array[length][i]>target){length--;}else{return true; //就是該值了}}return false;}解法3:和解法1類似,因為從左到右是有序的,所以每一行用二分查找
總結
以上是生活随笔為你收集整理的《剑指offer》二维数组中的查找的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动态规划---实现输出最大公共子序列的长
- 下一篇: 《剑指offer》替换空格