zoukankan      html  css  js  c++  java
  • 算法--有序矩阵查找指定数

     

    第18节 有序矩阵查找练习题

     

    现在有一个行和列都排好序的矩阵,请设计一个高效算法,快速查找矩阵中是否含有值x。

    给定一个int矩阵mat,同时给定矩阵大小nxm及待查找的数x,请返回一个bool值,代表矩阵中是否存在x。所有矩阵中数字及x均为int范围内整数。保证nm均小于等于1000。

    测试样例:
    [[1,2,3],[4,5,6],[7,8,9]],3,3,10
    返回:false
     
     
    1
    import java.util.*;
    2
    
    
    3
    public class Finder {
    4
        public boolean findX(int[][] mat, int n, int m, int x) {
    5
            int row = 0;//标记行下标
    6
            int col = m-1;//标记列下标
    7
            for(int init = mat[row][col];;){
    8
                if(init == x) return true;
    9
                else if(init > x){
    10
                    col--;
    11
                    if(col<0) return false;
    12
                    else init = mat[row][col];
    13
    
    
    14
                }
    15
                else{
    16
                    row++;
    17
                    if(row>n-1) return false;
    18
                    else init = mat[row][col];
    19
                }
    20
            }
    21
        }
    22
    }
     
     
    您的代码已保存
    答案正确:恭喜!您提交的程序通过了所有的测试用例
  • 相关阅读:
    linux格式化新硬盘并挂载,设置开机自动挂载
    各大名企的笔试面试题
    web2.0 Color
    选调生面试题
    网站流量概要分析
    css下拉菜单演示
    子查询
    技巧
    CMM与软件生命周期
    学习方法之PHP
  • 原文地址:https://www.cnblogs.com/haozhengfei/p/87430d1ca3eda3cebc76ee6bbc2f7909.html
Copyright © 2011-2022 走看看