前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >排列矩阵查找

排列矩阵查找

作者头像
名字是乱打的
发布2021-12-22 16:06:25
3900
发布2021-12-22 16:06:25
举报
文章被收录于专栏:软件工程软件工程

给定M×N矩阵,每一行、每一列都按升序排列,请编写代码找出某元素。

示例:

现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30] ] 给定 target = 5,返回 true。

给定 target = 20,返回 false。

思路:从左下角或者右上角开始查找,这样一切就变得有序起来,目标比当前数字大向下查,比当前数字小向左跑

代码:

代码语言:javascript
复制
   public boolean searchMatrix(int[][] matrix, int target) {
        if (matrix==null||matrix.length==0){
            return false;
        }
            //从右上角开始查这个数是否存在
            int rowCur=0;//当前行
            int colCur=matrix[0].length-1;//当前列
            while (colCur>-1&&rowCur<matrix.length){
                if (matrix[rowCur][colCur]==target){
                    return true;
                }else if (matrix[rowCur][colCur]>target){
                    colCur--;
                }else if (matrix[rowCur][colCur]<target){
                    rowCur++;
                }
            }
            return false;
    }

咱也不知道为啥,本地测没问题,放上去就测试错误,刷新了一遍浏览器就好了.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/3/25 下,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档