25.二维数组中的查找

二维数组中的查找

题目:
在一个二维数组中,每一行都按照从左到右的递增顺序排序,每一列都按照从上到下递增的顺序排序,
请写一个函数:给定一个数,判断该数组是否含有该数,有的话输出他的其中一个位置

/*
 *@Author: helen
 *@Date:   2021/4/26 16:40
 *@Description:
  题目:
       在一个二维数组中,每一行都按照从左到右的递增顺序排序,每一列都按照从上到下递增的顺序排序,
       请写一个函数:给定一个数,判断该数组是否含有该数,有的话输出他的其中一个位置。
 */

public class 二维数组中的查找 {
    public String Find(int arr[][], int target){
        if(arr == null)
            return "不存在该数";
        int rows = arr.length - 1;
        int columns = arr[0].length - 1;
        int temp;
        int row = 0;
        while (rows >=0 && columns >= 0){
            temp = arr[row][columns];
            if(temp == target)
                return "row:" + row + ",column:" + columns;
            else if(temp > target)
                columns--;
            else {
                row++;
            }
        }
        return "不存在该数";
    }

    public static void main(String[] args) {
        二维数组中的查找 obj = new 二维数组中的查找();
        int[][] arr = {
                {1,2,8,9},
                {2,4,9,12},
                {4,7,10,13},
                {6,8,11,15},
                {8,9,13,17}};
        final String result = obj.Find(arr, 13);
        System.out.println(result);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值