剑指offer - 面试题3:二维数组中的查找
2016-09-11 23:33
423 查看
问题导读:
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。代码:
import java.util.Scanner; public class interview_3 { public static void main(String []args) { Scanner cin = new Scanner(System.in); int [][]arr = { {1,2,8,9}, {2,4,9,12}, {4,7,10,13}, {6,8,11,15} }; int target = cin.nextInt(); if(findNumber(arr, arr.length, arr[0].length, target)) { System.out.println("ok!"); } else { System.out.println("no!"); } } public static boolean findNumber(int[][] matrix, int rows, int columns, int number) { boolean found = false; if(matrix != null && rows > 0 && columns > 0) { int row = rows -1; int column = 0; while(row>=0 && column<columns) { if(matrix[row][column]==number) { found = true; break; } else if(matrix[row][column]>number) { row--; } else { column++; } } } return found; } }
测试:
peerslee@peerslee-ubuntu:~/ws/java/offer$ java interview_3 1 ok! peerslee@peerslee-ubuntu:~/ws/java/offer$ java interview_3 2 ok! peerslee@peerslee-ubuntu:~/ws/java/offer$ java interview_3 5 no! peerslee@peerslee-ubuntu:~/ws/java/offer$ java interview_3 0 no!
相关文章推荐
- 剑指offer--面试题3:二维数组的查找--Java实现
- 剑指Offer 面试题3:二维数组中查找
- [剑指offer]面试题3:二维数组中的查找
- 二维数组中的查找 剑指Offer面试题
- 【剑指Offer面试题】九度OJ1384:二维数组中的查找
- 剑指offer面试题:二维数组中的查找
- 剑指offer,面试题4,二维数组中的查找
- 剑指Offer学习之面试题3 :二维数组中的查找
- 剑指offer---面试题3:二维数组中的查找
- C++二维数组中的查找(剑指offer面试题4)
- 二维数组的查找 剑指offer面试题
- 【剑指Offer学习】【面试题3 :二维数组中的查找】
- 剑指offer-chapter2-面试题3-二维数组的查找(java)
- 剑指offer面试题3之二维数组中的查找
- 剑指offer-面试题3.二维数组中的查找
- 剑指offer之面试题3:二维数组的查找
- 剑指Offer面试题3(Java版):二维数组中的查找
- 剑指offer-面试题3:二维数组中的查找