第三题:有序二维数组查找问题

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

有序二维数组查找问题

问题描述

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

解题思路

从第一行最右边的数开始比,如果比目标数小,则删除行;若等于,则返回true;若大,则删除列;

java实现

private static boolean containTarget(int[][] arr, int target) {
    // TODO Auto-generated method stub
    int col=arr[0].length-1;
    int row=0;
    while(col>=0&&row<=arr.length-1) {//arr.length为二维数组的行数
        if (arr[row][col]==target) {
            return true;
        }else if (arr[row][col]>target) {
            col--;
        }else if (arr[row][col]<target) {
            row++;
        }
    }
    return false;
}
目录
相关文章
|
1月前
|
人工智能 算法
动态规划之区间一维
噩梦中的仙境:动态规划之区间一维
19 0
动态规划之区间一维
|
1月前
|
算法
算法篇之二分查找(第74题探索二维矩阵、第287题寻找重复数)
算法篇之二分查找(第74题探索二维矩阵、第287题寻找重复数)
27 0
|
4月前
7-234 两个有序序列的中位数
7-234 两个有序序列的中位数
33 0
|
7月前
|
算法
算法练习——(8)用下标排序
问题:给你n个无序的int整型数组arr,并且这些整数的取值范围都在0-20之间,要你在 O(n) 的时间复杂度中把这 n 个数按照从小到大的顺序打印出来。
|
7月前
|
人工智能 Java 算法框架/工具
二维前缀和数组&二维差分数组
二维差分数组div中的每一个格子记录的是「以当前位置为区域的左上角(区域右下角恒定为原数组的右下角)的值的变化量」【应该不固定 可以倒转】
二维前缀和数组&二维差分数组
|
10月前
两个有序链表序列的交集
两个有序链表序列的交集
65 0
|
10月前
两个有序序列的中位数
两个有序序列的中位数
62 0
|
10月前
014.求解二维数组的最大最小元素
014.求解二维数组的最大最小元素
45 0
|
算法
LeetCode题解——二维数组查找
今天继续算法题:二维数组中的查找
114 0
相关产品
云迁移中心
推荐文章
更多