【剑指offer】有序二维数组中的查找
2017-05-11 12:36
495 查看
题目描述
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。public class TestFind { public static void main(String[] args) { int[][] array = { { 1, 2, 3, 4, 5 }, { 2, 2, 3, 4, 5 }, { 3, 3, 6, 7, 8 }, { 4, 4, 7, 8, 10 }, { 5, 5, 8, 9, 11 } }; System.out.println(Find(7, array)); } /** * 暴力搜索 */ public static boolean Find2(int target, int[][] array) { for (int i = 0; i < array.length; i++) { for (int j = 0; j < array[i].length; j++) { if (array[i][j] == target) { return true; } } } return false; } /** * 左下角开始搜索 大则上移,小则右移 */ public static boolean Find(int target, int[][] array) { int i = array.length-1; int j = 0; while(i >= 0 && j < array[i].length){ if (target > array[i][j]){ System.out.println(target + ">" + "array[" + i + "][" + j + "]=" + array[i][j]); j++; }else if (target < array[i][j]){ System.out.println(target + "<" + "array[" + i + "][" + j + "]=" + array[i][j]); i--; }else{ System.out.println(target + "=" + "array[" + i + "][" + j + "]=" + array[i][j]); return true; } } return false; } }
相关文章推荐
- 【剑指offer】【二维数组中的查找】【有序二维数组整数查找】【判断二维数组是否为空方法】
- 剑指offer-有序二维数组中的查找
- 剑指offer之有序二维数组查找
- 剑指offer | 有序二维数组查找
- 剑指offer--二维数组中的查找
- 剑指Offer之 - 二维数组中的查找
- 二维数组中的查找(剑指offer面试题3)
- 剑指offer--二维数组的查找
- 剑指offer之二维数组中的查找
- 剑指offer,面试题4,二维数组中的查找
- 剑指Offer---二维数组中的查找
- 剑指offer-面试题3 二维数组中的查找
- 牛客网-剑指Offer-二维数组的查找
- python刷题日记:剑指offer-二维数组的查找
- 剑指offer-二维数组中的查找
- 【剑指offer——JAVA实现】二维数组中的查找
- 剑指offer 二维数组中的查找
- 剑指offer_02_二维数组中的查找
- 剑指offer面试题3 二维数组中的查找 (java)
- 剑指offer面试题:二维数组中的查找