Nowcoder java-二维数组中的查找

(题目来自牛客网)

思路

从左下角或者右上角的数开始查找目标函数。

代码以右上角的数字为例:
1.如果target 等于右上角的数,则返回该数字;

2.如果target 大于右上角的数,则行数加;
(因为右上角所在的行中,右上角的数字是最大的,该行一定没有比target大的数字)

3.如果target 小于右上角的数,则列数减;
(因为右上角所在的列中,右上角的数字是最小的,该列所有数字都比target大)

复杂度

时间复杂度O(m+n), 其中(m是行数,n是列数)
空间复杂度O(1)

代码

//右上角
public class Find {public static boolean find(int target, int[][] array) {int row = 0;int col = array[0].length - 1;int rows = array.length - 1;while (row <= rows && col >= 0) {if (target == array[row][col]) {return true;} else if (target < array[row][col]) {col--;} else {row++;}}return false;}public static void main(String[] args) {int array[][] = {{1, 2, 8, 9}, {2, 4, 9, 12}, {4, 7, 10, 13}};if (find(3,array))System.out.println("数组含有此整数");elseSystem.out.println("数组不含此整数");}
}

Nowcoder java-二维数组中的查找相关推荐

  1. 剑指offer刷题(java)|二维数组中的查找|替换空格|leetcode刷题

    文章目录 前言 一.二维数组中的查找 题目 题解一 题解二 题解三 二.替换空格 题目 题解一 题解二 题解三 前言 本文主要是写了我做算法题的思路以及对其他优秀题解的自我理解. 一.二维数组中的查找 ...

  2. [剑指offer]面试题第[1]题[JAVA][二维数组中的查找][数组][二分]

    [问题描述] 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...

  3. python 二维数组长度_剑指offer二维数组中的查找【Java+Python】

    点击上方"蓝字",关注了解更多 二维数组中的查找 1. 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序 ...

  4. 二维数组中的查找(杨氏矩阵(C语言+Java))

    二维数组中的查找这道题,出自 <剑指Offer>.也是著名的杨氏矩阵 在一个 n *m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的.输入一个数,判断矩阵中 ...

  5. 剑指Offer #01 二维数组中的查找(Java描述)

    题目来源:牛客网-剑指Offer专题 题目地址:二维数组中的查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一 ...

  6. [剑指Offer]5.二维数组中的查找

    题目 在一个二维数组中,每一行都依照从左到右递增的顺序排序,每一列都依照从上到下递增的顺序排序.请完毕一个函数,输入这种一个二维数组和一个整数.推断数组中是否含有该整数. 思路 [算法系列之三十三]杨 ...

  7. 隔一段时间查找一次 golang_剑指 offer-04 二维数组中的查找

    算法名称:二维数组中的查找 题目内容:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整 ...

  8. 剑指offer——面试题3:二维数组中的查找

    剑指offer--面试题3:二维数组中的查找 1.笨蛋方法 复杂度为O(n2)O(n^2)O(n2) class Solution { public:bool Find(int target, vec ...

  9. 算法013:二维数组中的查找-在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断中是否存在

    题目:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.示例: 现有 ...

  10. C#版 - 小红书后台开发面试题: 二维数组中的查找

    二维数组中的查找 热度指数:24274 时间限制:1秒 空间限制:32768K 本题知识点: 查找 ​ 在线提交网址: http://www.nowcoder.com/practice/abc3fe2 ...

最新文章

  1. XenApp部署之配置XenApp Server
  2. python 报错 Missing dependencies for SOCKS support 解决方法
  3. Linux设置SSH登录(SecureCrt)
  4. 有关表格边框的css样式表语法说明
  5. 作者招募 | 加入PaperWeekly,让你的文字被更多人看到
  6. 真正掌握vuex的使用方法(六)
  7. JasperReports项目中的应用
  8. 多线程-非共享数据(python 版)
  9. 浅谈跨平台框架 Flutter 的优势与结构 1
  10. lwip_sendto函数详解
  11. 再来学习一下RT-Thread的软件架构 | 文末赠书5本《软件架构实践》
  12. 专访北森CEO纪伟国:解读SaaS+PaaS的云上发展路径
  13. java(File、IO流)
  14. 当个运营都难,二本生在如今的就业市场真的没出路了吗?
  15. android 呼叫转移 延时,Android:在延迟后设置呼叫转移
  16. LeetCode 10. Regular Expression Matching / 44. Wildcard Matching
  17. python 赋值语句
  18. esp分区创建 linux_EFI引导Ubuntu。分区如何手动创建
  19. npm被玩坏了:修复nodejs(‘npm‘ 不是内部或外部命令)
  20. HarmonyOS学习路之HarmonyOS 概述

热门文章

  1. 详解人工智能(AI) 机器学习(ML) 深度学习(DL)
  2. 如何使用CAD编辑器来画箭头
  3. /var/spool/postfix/maildrop占用空间大量处理
  4. 【大学生必备神器网站】免费论文下载、免费2T网盘、各类免费课程、在线高数引擎...收藏了4年的宝藏学习网站最全の整理推荐!
  5. Qt信号和槽函数连接不成功原因
  6. 2-04-调用函数-0518
  7. 科三考试邢台市交安考试路线
  8. 网络工程师成长日记309-西安李宁项目
  9. 2014年3月17日 房价暴跌了吗
  10. 【双系统安装】win10+联想thinkpad T14 安装Ubuntu20.04