剑指offer|面试题3:二维数组中的查找(Java实现)

package data.structure.day0408;

public class Demo1 {
	/**
	 * 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序 每一列都按照从上到下递增的顺序排序。请完成一个函数,
	 * 输入这样的一个数组和一个整数,判断数组中书否含有这个整数。
	 * 
	 * @param arr
	 * @param num
	 */
	public void test(int[][] arr, int num) {
		int rows = arr.length;
		int columns = arr[0].length;
		boolean result = test(arr, rows, columns, num);
		System.out.println(result);

	}

	private boolean test(int[][] arr, int rows, int columns, int num) {
		boolean found=false;
		if(arr!=null&&rows>0&&columns>0){
			for(int row=0,column=columns-1;row<rows&&column>=0;){
				if(arr[row][column]==num){
					found=true;
					break;
				}else if(arr[row][column]>num){
					column--;
				}else{
					row++;
				}
			}
		}
		return found;
		
	}
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值