java牛客BM18. 二维数组中的查找
Posted 青春无敌美少
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java牛客BM18. 二维数组中的查找相关的知识,希望对你有一定的参考价值。
牛客BM18. 二维数组中的查找
解题思路:
本题利用这个二维表独特的性质可以较快解出。每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。由此可以看出,如果我们以这个二维表的右上角为起点开始与 target 作比较,如果 target 比目前右上角的数值大,行下移,即 i++ ;如果 target 比目前右上角的数值小,列左移,即 j-- ,我们只要控制好i ,j 的范围,此题即可解出。
实现代码:
public class Solution
public boolean Find(int target, int [][] array)
int m=array.length;
int n=array[0].length;
int i=0;int j=n-1;
int flag=0;
while(i<m&&j>=0)
if(array[i][j]>target)
j--;
else if(array[i][j]<target)
i++;
else
flag=1;
break;
return flag==1?true:false;
以上是关于java牛客BM18. 二维数组中的查找的主要内容,如果未能解决你的问题,请参考以下文章