二维数组中的查找
来源:互联网 发布:西瓜影音mac版 编辑:程序博客网 时间:2024/06/07 15:55
题目
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整
解题
方法一:暴力
时间复杂度:
public class Solution { public boolean Find(int [][] array,int target) { if(array == null || array.length == 0 || array[0].length == 0){ return false; } int row = array.length; int col = array[0].length; for(int i=0;i<row;i++){ for(int j=0;j<col;j++){ if(array[i][j] == target){ return true; } } } return false; }}
方法二:
原始矩阵已经是有序的,利用这个信息每次排除一行或者一列
时间复杂度:
public class Solution { public boolean Find(int [][] array,int target) { if(array == null || array.length == 0 || array[0].length == 0){ return false; } int row = array.length; int col = array[0].length; int i=0; // 行 int j = col - 1; // 列 从右上开始比较 while(i<row && j>= 0){ while(i<row && j>=0){ if(array[i][j] == target){ // 找到 return true; }else if(array[i][j] >target){// i j 位置元素比较大,应该向小的方向走 j = j - 1; }else{ i = i + 1; } } } return false; }}
0 0
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 登山-C#-两个小知识点,字符串补全,在TextBox中捕获回车键
- 使用主机putty登陆vmware虚拟机里的suse系统
- HDOJ 2544 最短路(四种做法)
- 信号(signal)介绍
- SVN知识整理[iOS]
- 二维数组中的查找
- 【剑指offer】树的子结构
- 获取操作系统版本的几种方法
- jsp前台中关于c标签的一些使用(c:choose和c:forEach)
- Java - PAT - 1042. 字符统计(20)
- 把自己的开源库添加cocoapods
- 【c++程序】不同字符的个数统计
- java 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。斐波那契数列的定义如下
- javascript之DOM操作