剑指offerJava实现 二维数组的查找
来源:互联网 发布:文件还原软件 编辑:程序博客网 时间:2024/06/07 20:42
序言
剑指offer上的题都非常经典,而且在一些大公司,也会出剑指offer上的原题,所以无论从研究和锻炼自己算法能力的还是提升自己求职竞争力的角度来说,都是非常有帮助的。
题目描述
在一个二维数组中,每一行都是从左到右递增,每一列都是从上到下递增,请完成一个函数,输入这样的二维数组和一个整数,判断数组中是否有该整数。
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
解题思路
首先我们选取数组中的右上角,当数组比整数大的时候,我们删除一行列,如果数组比整数小的时候,我们往下移动一行。这样我们就能找到自己所要找的整数
代码实现
package com.test.kemiki;public class one {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubint arr[][] =new int[][]{{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};System.out.println(find(arr, 3,4,4));}/** * * @param arr 数组 * @param number 要查找的数字 * @param col 列 * @param row 行 * @return */public static boolean find(int [][] arr,int number,int col,int row){if(arr!=null && col>0 && row>0){int rows=0;int cols=col-1;while(arr!=null&&rows<row &&cols>0){if(arr[rows][cols]==number){return true;}else if(arr[rows][cols]>number){--cols;}else{++rows;}}}return false;}}
输出结果
最终输出结果true。
0 0
- 剑指offerJava实现 二维数组的查找
- 剑指offer----二维数组中的查找的解析与实现
- 剑指offer-3-Python实现二维数组的查找
- 二维数组查找的JAVA实现
- 二维数组的查找
- 二维数组的查找
- 二维数组的查找
- 二维数组的查找
- 二维数组的查找
- 二维数组的查找
- 二维数组的查找
- 二维数组的查找
- 二维数组的查找
- 二维数组的查找
- 二维数组的查找
- 二维数组的查找
- 二维数组的查找
- 二维数组的查找
- EM算法总结
- LeetCode 94. Binary Tree Inorder Traversal(二叉树的中序遍历)
- C++基础知识(三)—— 常量
- Android+ eclipse开发快捷键
- stm32资源
- 剑指offerJava实现 二维数组的查找
- MyBatis Review——输入输出映射
- Android经验之如何使用JDBC连接数据库
- Java-final修饰符
- 回调函数思想
- C++基础知识(四)—— 操作符/运算符
- 斯坦福大学机器学习笔记(2)
- ssh远程
- JavaScript基础[用途、基本使用、批量产生对像、对象调用、对批量生产对象进行验证、语法的灵活性、js的内置对象]