二维数组中的值查找最优解算法
2016-03-03 20:50
204 查看
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路:首先我们选择从左下角或右上角开始搜寻,(为什么不从左上角开始搜寻,左上角向右和向下都是递增,那么对于一个点,对于向右和向下会产生一个岔路;如果我们选择从左下脚开始搜寻的话,如果大于就向右,如果小于就向下)。
<span style="color:#000000;"> public boolean findNumber(int[][] array, int target) { int len = array.length - 1; int i = 0; while ((len >= 0) && (i < array[0].length)) { if (array[len][i] > target) { len--; } else if (array[len][i] < target) { i++; } else { return true; } } return false; }</span>
相关文章推荐
- Java垃圾回收机制
- matlab 中的load介绍
- WinCE项目应用汇总
- codevs 1061 重复子串
- JNI初探
- 模拟电话拨号器数字界面 以及跳转到拨打界面
- 进程调度及其算法
- POJ百炼-2742-统计字符数
- D6
- DDMS Heap 查看内存占用大小
- 蓝桥杯:字符串对比
- Leetcode 118 Pascal's Triangle 数论递推
- 关于JSon中的NSNull
- spark基本概念
- Binary Tree Paths
- Activity启动模式有感
- hdu 1385 Minimum Transport Cost【floyd过】【最短路】
- CSS中margin边界叠加问题及解决方案(1)
- 线程
- Objective-c 基础框架(初学者-总结)