数组:二维数组中的查找
时间:2019-09-13
本文章向大家介绍数组:二维数组中的查找,主要包括数组:二维数组中的查找使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
2019-09-13
题目描述
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
解题思路
从题目上看,此二维数组是有序的,从右上角看,向左递减,向下递增。
- 从右上角arr[1][j]开始找,如果arr[1][j] > N,则左移;
- 如果arr[1][j] < N, 则下移;
- 如果超过边界,则N不在该二维数组中;
参考代码
1 public class Solution { 2 public boolean Find(int target, int [][] array) { 3 if(array.length == 0 || array[0].length == 0) { 4 return false; 5 } 6 int m = array.length - 1; 7 int n = 0; 8 int temp = array[n][m]; 9 while(temp != target) { 10 if(m > 0 && n < array.length - 1) { 11 if(temp < target) { 12 n++; 13 } 14 if(temp > target) { 15 m--; 16 } 17 temp = array[n][m]; 18 }else { 19 return false; 20 } 21 } 22 return true; 23 } 24 }
原文地址:https://www.cnblogs.com/carry6/p/11516565.html
- PHP异步高并发扩展Swoole
- TensorFlow从0到1丨 第五篇:TensorFlow轻松搞定线性回归
- 【直播】我的基因组59:把我的数据伪装成23andme或wegene的芯片数据
- asp.net web api客户端调用
- 细说WebSocket - Node篇
- TensorFlow从0到1丨 第六篇:解锁梯度下降算法
- .Net多线程编程—误用点分析
- Web开发常见的几个漏洞解决方法
- .Net多线程编程—同步机制
- .Net多线程编程—Parallel LINQ、线程池
- 没有自己的服务器如何学习生物数据分析(下篇)
- .Net多线程编程—并发集合
- .Net多线程编程—任务Task
- 学会WCF之试错法——安全配置报错分析
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法