【剑指Offer】二维数组中的查找$2.3.1
来源:互联网 发布:原生js手风琴效果原理 编辑:程序博客网 时间:2024/06/11 19:25
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和整数,判断数组中是否有该整数。
private boolean find(int[][] arr, int row, int col, int key) { if (arr == null) { throw new IllegalArgumentException("给定数组不能为空"); } if (row <= 0 || col <= 0) { throw new IllegalArgumentException("给定非法行值列值row:" + row + ", col:" + col); } for (int i = 0; i < row; i++) { //从每行的最大值的列开始 for (int j = col - 1; j >= 0; j--) { //如果该值等于 if (arr[i][j] == key) { return true; } //如果该值小于key else if (arr[i][j] < key) { //那么该行比他更小的都应该丢弃掉 break; } //如果该值大于key else if (arr[i][j] > key) { //该列以下已经没有符合key要求的了,col-1 col--; } } } return false;}@Testpublic void runWithMe() { int key = -1; int len = 4; int[][] arr = new int[][]{ {1, 2, 8, 9}, {2, 4, 9, 12}, {4, 8, 10, 13}, {7, 10, 11, 14} }; System.out.println("数组中有包含吗:\n" + find(arr, len, len, key));}
阅读全文
0 0
- 剑指offer 1 二维数组中的查找
- 剑指offer[1]二维数组中的查找
- 剑指offer(1):二维数组中的查找
- 【剑指Offer】二维数组中的查找$2.3.1
- 剑指offer-->二维数组中的查找
- 剑指offer之二维数组中的查找
- 剑指offer:3-二维数组中的查找
- [剑指Offer]二维数组中的查找
- 【剑指offer】二维数组中的查找
- [剑指Offer]二维数组中的查找
- 剑指Offer:二维数组中的查找
- 【剑指offer】二维数组中的查找
- 剑指offer 1384 二维数组中的查找
- 剑指Offer之二维数组中的查找
- 剑指offer 03:二维数组中的查找
- 剑指offer(2) - 二维数组中的查找
- 剑指offer-二维数组中的查找
- 剑指offer-3 二维数组中的查找
- 51nod 1489 蜥蜴和地下室
- WEB安全
- Qt 实现简易的学生信息管理文档
- 一个芯片低能耗的疑问
- 做毕设(十五)——新闻推荐
- 【剑指Offer】二维数组中的查找$2.3.1
- 学以致用——英文姓名高词频分析-使用Excel制作高频词标签云(VBA)
- Spring JDBC-NamedParameterJdbcTemplate模板类
- C语言中插入汇编nop指令
- java中如何将String类型的日期格式为yyyyMMdd转化为date类型的yyyy-MM-dd格式
- [linux] 自动ssh登录
- 2 大数据实战系列-spark shell wordcount
- PAT 甲级 1051. Pop Sequence (25)
- Solr -- 查询语法/参数