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.

    package leetcode;

    public class SearchA2DMatrix {
    //数组查找:1、排好序(二分查找的前提)2、二分查找!
    public static boolean searchMatrix(int[][] matrix, int target) {
          int m =0;
        while(m<=matrix.length-1){
            if(matrix[m][0]<=target&&matrix[m][matrix[0].length-1]>=target){
                 return binary(matrix[m],0,matrix[0].length-1,target);            
            }else
                m++;            
        }  
        return false;
        }

    public static boolean binary(int nums[] , int left,int right,int tar ){     //二分查找的一般算法
        while(right>=left){
        int mid = (right+left)/2;
        if(nums[mid] == tar)  return true;
        if(nums[mid] >tar) return binary(nums,left,mid-1,tar);
        return binary(nums,mid+1,right,tar);
        }
        return false;
    }

        public static void main(String[] args) {
            // TODO Auto-generated method stub

            int[][] a ={
              {1,   3,  5,  7},
              {10, 11, 16, 20},
              {23, 30, 34, 50}
              };
        System.out.print(searchMatrix(a,9));
        }

    }

    态度决定行为,行为决定习惯,习惯决定性格,性格决定命运
  • 相关阅读:
    SMTP发邮件(直接可用)实例
    ADO.NET(二)
    ADO.NET(一)
    C# 反射(一)
    APサーバ
    DB2 相关操作
    ArrayList与LinkedList时间复杂度之对比
    java泛型问题 关于警告:XX is a raw type
    Java编程中提高性能的几点建议
    STRUTS2核心控制器:FilterDispatcher
  • 原文地址:https://www.cnblogs.com/neversayno/p/5290230.html
Copyright © 2011-2022 走看看