码迷,mamicode.com
首页 > 编程语言 > 详细

二维数组遍历

时间:2016-07-30 22:25:49      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

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

算法分析:可以直接遍历,不过时间复杂度太高,因为有序,可以从左下角查找,也可以从右上角查找。

public class Array {
	//二维数组遍历
	public boolean Find(int [][] array,int target) 
	{
		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;
    }
	
	//从左下角开始查找
	public boolean Find2(int[][] array, int target)
	{
		int i = array.length - 1;
		int j = 0;
		while(i >= 0 && j <= array[0].length - 1)
		{
			if(target > array[i][j])
			{
				j ++;
			}
			else if(target < array[i][j])
			{
				i --;
			}
			else
			{
				return true;
			}
		}
		return false;
	}
}

  

二维数组遍历

标签:

原文地址:http://www.cnblogs.com/masterlibin/p/5721766.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!