剑指offer——在二维数组中查找元素
2016-07-30 18:45
239 查看
题目描述:
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:
由于题目条件的成立,所以使得这道题可以使用对角线的方法完成,可以从右上角的元素考虑,如果目标查找元素小于右上角的元素,那么不可能在右上角元素所在的列,如果目标大于剩余列的右上角的元素,那么不可能在该右上角元素所在的行。依照这个规律,就可以完成目标元素的查找(参考剑指offer书中的思路)。代码实现:
public class Solution { public boolean Find(int [][] array,int target) { boolean found = false; int rows = array.length; int columns = array[0].length; int row = 0; int column = columns - 1; while(row < rows && column >=0){ if(array[row][column] == target){ found = true; break; }else if(array[row][column] > target){ column--; }else{ row++; } } return found; } }
相关文章推荐
- 如何使用JS来改变CSS样式
- JavaScript语言中的this
- Nodejs学习路线图
- JavaScript函数调用得四种方式及函数传参
- 关于javascript 数组的正态分布排序的一道面试题
- JS 滚动效果
- 具有分散效果的瀑布流网页
- jquery-highlight.js高亮显示
- 锋利的jQuery笔记
- HDU - 3465 Life is a Line
- 初识正则表达式
- js 楼层导航
- JavaScript的字符串去空格
- C#Json序列化和反序列化
- HTML,使用div+css实现自适应table布局
- 排序算法研究
- 关于display的属性的那些事
- css中新增加的伪类选择器
- CSS3-canvas绘制线性渐变
- JS打开新窗口的2种方式