剑指offer——二维数组中的查找(JAVA)
来源:互联网 发布:海淘怎么转运知乎 编辑:程序博客网 时间:2024/05/21 17:37
题目描述
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
解题思路
利用二维数组从上到下、从左到右依次递增的规律,可以首先选取一个特殊位置(左下角或右上角)的元素与目标整数进行比较,以左下角元素为例:
当目标整数target=a[row][col]时,说明target只可能出现在当前元素所在行的上方,即row--;
当目标整数target>a[row][col]时,说明target只可能出现在当前元素所在列的右边,即col++;
若越出边界,则说明二维数组中不含有该整数。
代码:
public class Solution { public boolean Find(int target, int [][] array) { boolean found = false; int row = array.length-1; int column=0; while(column<array[0].length&&row>=0){ if(array[row][column]==target) { found=true; break; } else if(array[row][column]>target){ row--; } else{ column++; } } return found; }}
阅读全文
1 0
- 剑指offer——二维数组中的查找(JAVA)
- 剑指offer(C++)——二维数组中的查找
- 剑指Offer——(1)二维数组中的查找
- 剑指offer--二维数组中的查找 java
- 剑指offer:二维数组中的查找(java)
- [剑指Offer]二维数组中的查找[java]
- 剑指Offer:面试题3——二维数组中的查找(java实现)
- 剑指offer(java代码)——二维数组中的查找
- 剑指Offer——面试题3:二维数组中的查找(Java)
- 剑指offer面试题3—二维数组中的查找(Java实现)
- JAVA实现二维数组中的查找(《剑指offer》)
- JAVA实现二维数组中的查找(《剑指offer》)
- 剑指offer(二维数组中的查找)
- 二维数组中的查找(剑指offer)
- 剑指offer--二维数组查找(java)
- 《剑指offer》——1 二维数组中的查找
- 《剑指offer》——二维数组中的查找
- 《剑指offer》——二维数组中的查找
- 对如今手机的看法——仅兴趣
- 14-1
- poj 1422 Air Raid
- gcc编译报错-stary '\357' in program
- Linux作业5
- 剑指offer——二维数组中的查找(JAVA)
- 第一天的学习
- 电脑快捷键一览表
- 二叉树算法c语言描述
- 连续两次递归调用的每一步的调用情况
- 理解:回归与拟合、归一化与标准化
- java详解 --- 流程控制之循环结构
- CSS经典三栏布局方案
- 在IDEA中新建Spring的方法