剑指offer刷题记—第4题_二维数组中的查找

找数字(python3) 找数字 阅读详情
**
 * @program: suanfa
 * @description: 二维数组中查找,给定一个二维数组,其每一行从左到右递增排序,
 * 从上到下也是递增排序。给定一个数,判断这个数是否在该二维数组中
 * @author: zi jian
 * @create: 2019-10-23 16:37
 */
public class FindNumber_4 {
    //思路是确定一个数如果正常查询的话会发现向右向下都是在递增,
    // 所以我们可以换个思路就是让其一个方向递增一个方向递减则可以锁定数字
    public static boolean findNumeber(int[][] nums, int m) {
        if (nums.length == 0 || nums[0].length == 0) {
            return false;
        }
        //判断是否会重复
        boolean[][] judge = new boolean[nums.length][nums[0].length];
        int x = nums.length - 1;
        int y = 0;
        //循环找出合适的位置
        while (x >= 0 && y < nums[0].length) {
            if (nums[x][y] == m) {
                System.out.println("X = " + x + " Y = " + y);
                return true;
            } else if (m > nums[x][y]) {
                y++;

            } else {
                x--;
            }
            //进入防止进入死循环比对过的点不必再比如果再比说明没有合适的位置
            if(x >= 0 && y < nums[0].length){
                if (!judge[x][y]) {
                    judge[x][y] = true;
                } else {
                    return false;
                }
            }

        }
        return false;
    }

    public static void main(String[] args) {
        int[][] nums = {
                {1, 4, 7, 11, 15},
                {2, 5, 8, 12, 19},
                {3, 6, 9, 16, 22},
                {10, 13, 14, 17, 24},
                {18, 21, 23, 26, 30}
        };

        findNumeber(nums,9);
    }
}

 

【剑指offer】二分查找二维数组 剑指offer上的第一道题目,在九度OJ上测试通过 题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入的第一行为两个整数m和n(1<=m,n<=1000):代表将要输入的矩阵的行数和列数。 输入的第二行包括一个整数t(1<=t<=1000000):代表要查找的数字。 接下来的m行,每行有n个数,代表题目所给出的m行n列的矩 阅读详情

相关推荐

华为OD-找数字

给一个二维数组nums,对于每一个元素nums[i],找出距离最近的且值相等的元素,输出横纵坐标差值的绝对值之和,如果没有等值元素,则输出-1。输入第一行为二维数组的行。输入第二行为二维数组的列。数组形式返回所有坐标值。输入的数字以空格隔开。

qq_45221509的博客 445

LeetCode 面试题04. 二维数组中的查找(Python)

题目 注意:本题与主站 240 题相同:https://leetcode-cn.com/problems/search-a-2d-matrix-ii/ 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof 解法一:暴力,依次遍历二维数组,时间复杂度m*n class Sol...

weixin_43346653的博客 819

【华为OD机试真题 C++语言】212、找数字、找等值元素 | 机试真题+思路参考+代码解析

给一个二维数组nums,对于每一个元素nums[i], 找出距离最近的且值相等的元素,输出横纵坐标差值的绝对值之和,如果没有等值元素,则输出-1

KJ.JK 2107

[Java刷算法]牛客—剑指offer第一天

直面未来,挑战面试,和小编一起挑战30天刷完《牛客—剑指offer》。等你来战!!!!

muzi_longren的博客 9018

【华为OD机试2023】找等值元素 C++ Java Python

【华为OD机试2023】找等值元素 C++ Java Python 给一个二维数组nums,对于每一个元素numlil,找出;距离最近的且值相等的元素,输出横纵坐标差值的绝对值之和,如果没有等值元素,则输出-1。

Abmcar的博客 669

LeetCode 5344. 有多少小于当前数字的数字(排序)

1. 题目 给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。 换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。 以数组形式返回答案。 示例 1: 输入:nums = [8,1,2,2,3] 输出:[4,0,1,1,3] 解释: 对于 nums[0]=8 存在四个比它小的数字:(1,2,2 和 3)。 对于 nums[1]=1 不存在比它小的数字。 对于 nums[2]=2 存在一个比它小的数字:(1)。 对于 nums[3]=2 存在一个比它小的数字:(1

【刷题】2021最新剑指Offer汇总

新手村 关卡1-1 洛谷的第一个任务 超级玛丽游戏(洛谷-P1000):点击这里 A+B Problem(洛谷-P1001):点击这里

瑞新の博客:bennyrhys 6298

【移动APP测试】Firebase Test Lab (FTL) 实战指南:从零搭建自动化测试流水线

本文详细介绍了Firebase Test Lab (FTL) 在移动APP测试中的实战应用,从零搭建自动化测试流水线。通过真实设备、虚拟设备和iOS设备的全面覆盖,FTL帮助开发者高效进行兼容性测试、性能监控和崩溃分析,显著提升应用质量。文章还提供了设备选择策略、成本控制技巧和CI/CD集成的最佳实践,助力团队优化测试流程。

weixin_29281915的博客 253

牛客刷题——剑指offer

牛客刷题 ——保姆级剑指offer教学

weixin_59796310的博客 2012

实战指南:如何用DCCRN模型提升语音增强效果(附代码示例)

本文提供了基于DCCRN模型进行语音增强的实战指南。通过深入解析复数网络如何协同处理语音的幅度与相位信息,并附有完整的PyTorch代码实现,帮助开发者从数据准备、模型搭建到训练调优,构建高效的实时语音增强系统,有效提升嘈杂环境下的语音清晰度。

weixin_29054245的博客 478

open-web UI 实用指南

open-web UI 类似于chatgpt的界面,可以私有化模型本地部署,也可以用商业模型.本文只是用开源模型. 它以实现多模态AI聊天 , AI 翻译 , 语音转文本, 文本转语音, 文生图,代码助手,可谓利器。

szmars的博客 3万+

面试必刷-《剑指offer》刷题小结

写在前面 面试季来了,不管是作为面试者还是以后作为面试官,了解算法这门程序员之间的沟通方式都是非常必要的。 找过工作的朋友应该都听说过《剑指offer》,笔者也是战5渣,本文主要对我这十多天刷过的《剑指offer》做个简单的分类小结,方便后面专项复(练)习~ 剑指offer推荐刷题地址: https://www.nowcoder.com/ta/coding-interviews 我的所有AC题解...

阿里巴巴算法工程师 5511

使用LogisticRegression和LightGBM模型对信贷违约进行预测----基于kaggle比赛数据

3.分离数值型变量与类别型变量,发现有些数值型变量因为输入不规范,比如数值中含有字符(28_,_10000_等)被划分为类别型变量 ,比如 'Age','Annual_Income','Num_of_Loan', 'Num_of_Delayed_Payment', 'Changed_Credit_Limit','Credit_Mix','Monthly_Balance', 'Outstanding_Debt' ,'Amount_invested_monthly'等。三、分箱,woe编码,计算IV值。

I_am_a_big_tiger的博客 1682

坚持用C++刷牛客题(剑指offer专题)

牛客网的《剑指offer》专栏里面每道题都带有练习模式和考试模式,可还原考试模式进行模拟,也可通过练习模式进行练习。质量非常不错,有易有难,因此在这篇博客里我将分享几道有趣的算法题,都使用C++语言完成。`我个人非常喜欢先学习知识后刷题巩固的学习方式,但是这样做最重要的便是坚持。还有既然要刷算法题,那就C++一条路走完,坚持用C++解决算法题!牛客网的题目非常经典且友好,建议大家学习知识后去牛客网对应的领域去刷题练习,获得成就感与充实感,加油!!!......

叶落秋白的博客 1662

开发Qt上位机获取阿里云IOT设备数据(开发上位机对接阿里云IOT平台)

使用Qt框架开发一款上位机软件,调用阿里云物联网平台的API接口,获取设备最新上传的实时数据,并在Qt设计的软件界面上展示处理。同时,还支持绘制曲线图表展示数据,并具备定时刷新功能。

2142

塔石DTU通过MQTT传递数据教程

塔石通过MQTT通讯上传ADL400电表用电量。

renkai721的专栏 235

剑指Offer系列刷题笔记汇总

本文转自:个人网站:点击查看 一前言 二总结 链表-8道 二叉树12道 二叉搜索树3道 数组11道 字符串8道 栈3道 递归4道 回溯法2道 其他15道 一、前言 本系列文章为《剑指Offer》刷题笔记。 刷题平台:牛客网 书籍下载:共享资源 刷题刷的比较慢,花费了两个多月,终于将所有题目过了一遍,牛客网一共有66道题,这次刷题主要使用C++,接下来会使用Python...

Jack-Cui 5万+

激光雷达点云异常现象详解:鬼影、高反膨胀与拖点

现象核心外观主要成因核心硬件对策核心算法对策鬼影位置错误,出现"复制"的物体镜面反射/光学元件间杂散光物理光阑、抗反射涂层多帧时序一致性检验、反射率逻辑判断膨胀尺寸变大,轮廓呈毛刺状信号饱和、像素/通道串扰可变增益控制、随机编码序列强度阈值滤波、几何轮廓拟合(剪裁)拖点边缘粘连,出现"阶梯"或"连线"光斑跨立边缘、双回波融合小光斑光学设计、多回波支持邻域深度突变检测、波形脉宽分析这些异常现象是当前激光雷达感知中的核心难点,通常需要硬件物理特性优化与上层感知算法。

Fun_LiDAR的博客 299

《剑指offer》 刷题记录(Python)

《剑指offer》 刷题记录 最近使用Python把《剑指offer》刷了一遍,自己能第一时间有想法的题目就直接写,没有思路的题目就看懂书上的思路和参考其他开源的实现后再自己写一遍。主要以牛客网《剑指offer》作为在线评测网站,有些题目牛客网没有的再找其他网站进行在线评测,主要使用的其他网站有: AcWing LintCode

DoctorSRn的博客 3327

【光子 AI 】应用 LangGraph 的核心模型和算法原理,完整实现一个极简版的 Agent 开发框架源代码,并给出具体的应用测试实际项目案例

下面给出一个“极简版 LangGraph 风格 Agent 框架”的完整可运行实现:用 有向图 + 状态(State) + 节点(Node) + 条件路由(Conditional Edge) + 循环(Loop) + Checkpoint 这一套核心模型/算法,把 Agent 组织成可编排、可测试的状态机工作流(这正是 LangGraph 的核心抽象之一:以 StateGraph 组织节点,节点读写共享状态,边做路由与循环,并支持持久化/回放)。 参考概念来源:LangGraph 官方文档对 “StateG

AI天才研究院 267

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

刷题——[剑指 offer] JAVA 版题解

序号 题解 牛客 OJ 数据结构类型 03 [剑指 offer] 二维数组中的查找 二维数组中的查找 数组 04 [剑指 offer] 替换空格 替换空格 字符串 05 [剑指 offer] 从尾到头打印链表 从尾到头打印链表 链表 06 [剑指 offer] 重建二叉树 重建二叉树 ...

程序员世杰 2295

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

《剑指offer》刷题记录汇总篇

《剑指offer》刷题汇总1 前言2 刷题网站3 刷题笔记汇总 1 前言   最近啃了个把月的数据结构与算法,有点飘了,准备拿牛客网的剑指offer模块练练手,个人觉得自己刚入门(或许还没入),所以这篇博客比较适合想学习数据结构或者刚接触数据机构的新手朋友朋友们,当然,大佬们也可以看看,一是指导,二是差缺补漏。   刷题顺序即题目顺序,时间的话大概一周 2 刷题网站 点击直达:剑指offer 3 刷题笔记汇总 题号 题目 知识点 JZ1 二维数组中的查找 数组、查找 JZ2 替换空格 字

郑德帅 864

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

剑指Offer Java版 66题刷题笔记汇总

备战校招研发岗,无论笔试还是面试算法都占很大比重的,加油! 写在前面 此文章为刷题笔记的汇总篇,包含《剑指Offer》66道算法题的个人解题思路及Java代码。 代码同步发布在GitHub:https://github.com/JohnnyJYWu/offer-Java 所有题目均可在牛客网在线编程平台进行调试。 网址:https://www.nowcoder.com/ta/coding...

机盐的博客 3734

剑指offer第二版 python 牛客网刷题全记录

每个题目单独整理的版本存储在这里, 点击题目名字可以跳转到牛客网的成功提交记录,点击python可以看到存储库中的对应求解代码。 # -*- coding: utf-8 -*- from binarytree import tree # Definition for singly-linked list. class ListNode(object): def __init__(s...

Jasmine_dream 3268

《剑指offer》刷题总结

从三月初开始刷剑指offer上面的题,到现在花了近二十天的时间终于刷完了。应该说,掌握上面的技巧应付一些公司面试题和小公司的笔试题是完全没有问题的。之前参加一个公司笔试,算法题就有一题是剑指offer上二维数组查找的那题(AcWing15),较为简单,但是应付大公司的笔试可能还远远不够。剑指offer的76道题目的题解链接是《剑指offer》题解。(下面题号较多便不附上各题的链接了) 下面简单总...

昂昂累世士的博客 1653

剑指offer刷题笔记

最近LeetCode上的《剑指offer》的题刷的差不多了,只剩几道无聊的题了。现在把做题过程中的记录放在这里,作为将来查看的笔记,也同时欢迎大家指出其中的不当之处(QQ)。虽然博主现在仍然没有拿到offer,但应该正如二师兄所言“放屁添风”,相信也是有些许的参考意义的。 Contens04 二维数组中的查找我的解法官方给出的线性解法05 替换空格我的解法官方解法06 从尾到头打印链表我的解法官方解法07 重建二叉树我的解法官方递归解法官方迭代解法09 用两个栈实现队列我的解法网友的解法10 青蛙跳台阶问题

仰起脸笑得像满月 1132
上一篇: 剑指offer刷题记—第7题_重建二叉树
下一篇: java调用maven接口实现java执行maven命令
ArchitectDream
博客等级 码龄9年 48粉丝 288原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值