zoukankan      html  css  js  c++  java
  • LeetCode Search a 2D Matrix

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:

    • Integers in each row are sorted from left to right.
    • The first integer of each row is greater than the last integer of the previous row.

    For example,

    Consider the following matrix:

    [
      [1,   3,  5,  7],
      [10, 11, 16, 20],
      [23, 30, 34, 50]
    ]
    

    Given target = 3, return true.

     1 public class Solution {
     2     public boolean searchMatrix(int[][] matrix, int target) {
     3             int line=0;
     4         if (matrix.length<1) {
     5             return false;
     6         }
     7         if (target<matrix[0][0]) {
     8             return false;
     9         }
    10         for (int i = 1; i < matrix.length; i++) {
    11             if (matrix[i][0]>target) {
    12                 line=i-1;
    13                 break;
    14             }
    15             if (matrix[i][0]==target) {
    16                 return true;
    17             }
    18         if (matrix[i][matrix[i].length-1]>=target) {
    19             line=i;
    20         }            
    21         }
    22 
    23         for (int is : matrix[line]) {
    24             if (is==target) {
    25                 return true;
    26             }
    27         }
    28         return false;
    29     }
    30 }
  • 相关阅读:
    python之处理excel表格
    Django下JWT的使用
    Flask的上下文管理
    模块循环引用
    博客声明及意义
    IPTABLES--iptables
    挂载U盘
    tar压缩解压
    iconv字符编码转换
    VirtualBox设置共享文件夹
  • 原文地址:https://www.cnblogs.com/birdhack/p/4028391.html
Copyright © 2011-2022 走看看