牛客网算法(一):二维数组中的查找

题目描述

       在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

题目分析

  • 二维数组是有序的,左下角的元素往上递减,往右递增;
  • 从左下角开始寻找,当要查找的数比左下角的数大时,右移;
  • 当要查找的数比左下角的数小时,上移。

Java实现

public class Solution{
	public static boolean find(int target,int [][] array){
		int rowNum = array.length;//数组的行数
		int colNum = array[0].length;//数组的列数
		int i,j;
		for(i = rowNum - 1,j = 0;i >= 0 && j < colNum;){
			if(target == a[i][j]){
				return true;
			}
			if(target < a[i][j]){
				i --;
				continue;
			}
			if(target > a[i][j]){
				j ++;
				continue;
			}
		}
		return false;
	}

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章