面试题:二维数组中的查找

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。(时间限制:1秒,空间限制:32768K)

 

参考答案:

 1 public static boolean find(int [][] array,int target) {
 2         // 首先定义一个map对象
 3         HashMap<Integer, Integer> map = new HashMap<>();
 4         // 遍历数组,把数组中的每个数值保存到map里
 5         for(int[] a : array) {
 6             for(int b : a) {
 7                 map.put(b, b);
 8             }
 9         }
10         return map.containsKey(target);
11     }

 

posted @ 2015-09-10 16:20  -小城-  阅读(147)  评论(0编辑  收藏  举报