数组:二维数组中的查找
Posted carry6
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组:二维数组中的查找相关的知识,希望对你有一定的参考价值。
2019-09-13
题目描述
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
解题思路
从题目上看,此二维数组是有序的,从右上角看,向左递减,向下递增。
- 从右上角arr[1][j]开始找,如果arr[1][j] > N,则左移;
- 如果arr[1][j] < N, 则下移;
- 如果超过边界,则N不在该二维数组中;
参考代码
1 public class Solution 2 public boolean Find(int target, int [][] array) 3 if(array.length == 0 || array[0].length == 0) 4 return false; 5 6 int m = array.length - 1; 7 int n = 0; 8 int temp = array[n][m]; 9 while(temp != target) 10 if(m > 0 && n < array.length - 1) 11 if(temp < target) 12 n++; 13 14 if(temp > target) 15 m--; 16 17 temp = array[n][m]; 18 else 19 return false; 20 21 22 return true; 23 24
以上是关于数组:二维数组中的查找的主要内容,如果未能解决你的问题,请参考以下文章