二维有序数组查找某值
来源:互联网 发布:平面设计手机作图软件 编辑:程序博客网 时间:2024/06/07 17:50
此处设为各行各列递增的数组,示例如下:
该类数组查找的要点是找到起点,若如上所示是各行各列递增,那么可选取右上角顶点为起点,效果为:当搜索值(称为num)不等于该顶点值(称为point)时,搜索范围可一致减小;
所谓一致减小,就是范围减小后符合同一规律:
在该例中,由于递增:
若 num〉point,可确定该点所在行均不符合要求,可将该point下移一行;
搜索范围简化为:
若 num〈point,可确定该点所在列均不符合要求,可将该point左移一列;
搜索范围简化为:
若数列为递减:
JAVA代码如下:
public class Main {private int[][] array = new int[][] { { 1, 2, 8, 9 }, { 2, 4, 9, 12 },{ 4, 7, 10, 13 }, { 6, 8, 11, 15 } };public boolean search(int N, int M, int num) {int startRow = 0;int startCol = M - 1;while (startRow < N && startCol >= 0) {if (array[startRow][startCol] < num)startRow++;else if (array[startRow][startCol] > num)startCol--;elsereturn true;}return false;}public static void main(String[] args) {Main m = new Main();System.out.println(m.search(4, 4,5));}}
0 0
- 二维有序数组查找某值
- 二维有序数组查找
- 二维有序数组查找
- 二维有序数组查找
- 二维有序数组查找给定值
- 二维有序数组中查找
- 有序二维数组中查找
- 有序二维数组查找元素
- 二维有序数组中查找
- 有序二维数组的查找
- 有序二维数组查找元素
- 有序二维数组的查找
- 查找有序二维数组中是否包含特定值
- 面试题 -- 有序二维数组的查找
- 行列有序的二维数组查找
- 有序的二维数组的查找问题
- (java)二维有序数组中查找元素
- 二维有序数组的查找 python解决
- fcntl()应用
- oc 常量与变量
- oracle获取本月第一天和最后一天及Oracle trunc()函数的用法
- Ubuntu12.04环境搭建遇到的问题和使用技巧(一)
- mysql 中 character set 与 collation 的点滴理解
- 二维有序数组查找某值
- 开始学习C++——第二篇 虚函数的作用(摘自onlinewan 百度知道)
- 10.10上下文菜单与上下文操作模式。
- android 面试题
- 别样JAVA学习(五)继承上(0.2)接口
- Spring MVC之@RequestBody, @ResponseBody 详解
- Qt中使用C++的方式
- 10月谈谈加载(Loading)的那点事
- gradle 教程学习笔记(二)