zoukankan      html  css  js  c++  java
  • 剑指offer-特定二维数组中查找一个元素是否存在-二分搜索-二维数组

    int [][] array ={
    {1,2,8,9},
    {2,4,9,12},
    {4,7,10,13},
    {6,8,11,19}
    };

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

    public class Solution {
        public static boolean Find(int target, int [][] array) {
        	int M = array.length;
            int N = array[0].length;
            int i=M-1,j=0;
            while(i>=0 && j<N){
         	
            	if(target == array[i][j]) 
            		return true;
            	
            	if(target< array[i][j])
            		{i--;continue;}
            	
            	if(target> array[i][j])
            		{j++;continue;}
            	
            }
            return false; 
        }
        
        public static void main(String[] args){
        	int [][] array ={
        			{1,2,8,9},
        			{2,4,9,12},
        			{4,7,10,13},
        			{6,8,11,19}
        			
        	};
        	System.out.println(Find(-1,array));
        }
    }
    

      

    暴力解法也通过了,但是这个时间复杂度为n方 , 上面的那个时间复杂度

    *****************************************************************************

    错误解法

  • 相关阅读:
    读理,妙句秒人秒事,二记
    读理,妙句秒人秒事,一记
    (原)DirectX11 深度测试(有点另类)
    游戏编程书籍推荐
    android入门-环境搭建
    Spring||Interview
    JSR-133内存模型手册
    JVM执行引擎
    HIbernate总结
    虚拟机类加载机制
  • 原文地址:https://www.cnblogs.com/cs-lcy/p/7260231.html
Copyright © 2011-2022 走看看