剑指offer_01 二维数组中的查找

基于紫光展锐平台的音频调用到hal层逻辑 基于紫光展锐平台的音频调用到hal层逻辑 1、数据流程图 AudioPolicyService和AudioFlinger的创建: 这两个服务都在audioserver中启动,文件路径: frameworks/av/media/audioserver/main_audioserver.cpp 从AudioFlinger和AudioPolicyService的创建,到output的打开,以及AudioFlinger开始往底层写入数据的具体流程如下图: #mermaid-svg-kjHL4XWwkQXN6NdA 阅读详情

今天开始更新一些编程题,首先是《剑指offer》上的名企面试典型编程题:

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

解题思路:
首先题目中的关键语句是“每一行都是按照从左到右递增的顺序排序,每一列都是按照从上到下递增的顺序排序”,这个信息非常重要,如果你想查找一个数是否在其中,必须要好好利用这句话,如果你想查找的话,只能从左下角或者右上方查找,原因是比如拿左下角来说如果你的目标数比第一个数小则只能向上查找,反之则只能向右查找!这样就不会方向乱变的查找了而是有规律的,此时你好好想想是不是我说的这样。

代码如下:

class Solution {
public:
    bool Find(int target, vector<vector<int> > array) {
        int row = array.size();             //行数
        int col = array[0].size();          //列数
        int i = row-1;                      //左下角的坐标(i,j)
        int j = 0;                          
        while(i>=0&&j<col){
            if(target<array[i][j]){        //如果小则向上查找
                i--;
            }
            else if(target>array[i][j]){    //如果大则向右查找
                j++;
            }
            else 
                return true;               //走完了依旧没找到的话则返回false
        }
        return false;
    }
};
【Python程序开发】湖南省职业院校技能大赛python程序开发赛项样题二 阅读详情

相关推荐

Protobuf NDK以及QNX交叉编译

Protobuf 用处很广,尤其是通讯数据序列化,反序列化。TODO。

静虚待令,有物混成 1560

剑指offer:二维数组中的查找元素(python)

文章目录二维数组中的查找元素方法1:方法2:方法3:涉及知识点if matrix == None or target == None:和if not matrix or target is None:的区别是什么?Python中is和==的区别 二维数组中的查找元素 题目位置(点击链接) 代码位置(点击链接) 题目: 在一个二维数组中,每一行元素都按照从左到右递增的顺序排序,每一列元素都按照从上到...

不要怕 1294

RabbitMq安装

本文详细介绍了在CentOS7系统上离线部署RabbitMQ4.3.2的完整流程。主要内容包括:1)准备RabbitMQ安装包、Erlang依赖和socat网络工具;2)安装系统编译依赖并编译安装Erlang;3)部署RabbitMQ服务,配置环境变量和socat依赖;4)启用Web管理插件并创建管理员账号;5)配置防火墙放行端口;6)设置Systemd开机自启服务;7)提供常用运维命令。文档特别强调离线部署注意事项,包括socat依赖、版本兼容性、账号安全及主机名配置等问题,为生产环境部署提供完整解决方案

sinat_25821779的博客 323

剑指offer刷题记录(C++)

1.二维数组的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 class Solution { public: bool Find(int target, vector<vector<int> > array)...

勤奋乐观的博客 733

赛灵思Xilinx 7系列FPGA硬件设计知识总结

本文讲述了赛灵思7系列FPGA硬件设计的关键点,为使用该系列FPGA提供硬件设计参考。

csdn_dsw的博客 3621

ZYNQ实战:如何用AXI-stream FIFO解决跨时钟域数据同步难题(附完整代码)

本文深入探讨了在ZYNQ项目中,如何利用AXI-Stream FIFO有效解决PS与PL之间的跨时钟域数据同步难题。文章详细分析了异步FIFO的架构设计、关键配置参数,并提供了PS端软件策略与PL端逻辑设计的完整代码示例,旨在帮助开发者构建稳定可靠的数据流通道,优化系统性能。

nginx7reverse的博客 754

剑指offer 二维数组中的查找 python实现

题目: eg:有一个二维数组: array[[1 2 8 9] [2 4 9 12] [4 7 10 13] [6 8 11 15]] 方法一:从右上角开始查找。大于目标值:列-1 小于目标值:行+1 else:等于存在 # -*- coding:utf-8 -*- class Solution: # array 二维列表 def Find(self, target,...

ganghaodream的博客 273

告别‘火龙’:实测BES2800/RK2108等主流芯片,聊聊AI眼镜的功耗与散热‘内卷’实战

本文深入探讨了AI智能眼镜在功耗与散热方面的挑战,重点分析了恒玄BES2800和瑞芯微RK2108等主控芯片的能效表现。通过实测数据和优化策略,揭示了在6nm工艺、异构计算和系统级散热方案下的实战经验,为AI眼镜的功耗管理提供了实用解决方案。

weixin_30839881的博客 946

《剑指offer》之二维数组中的查找(python实现)

(最近开始刷一些算法题,简要做个记录) 问题描述: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路: 由问题描述可以得到,从二位数组左下角来看,右边的数大于左下角值(从左到右依次递增),上边的数小于左下角的值...

wang969696的博客 251

AI安全护栏评测:TrustedExecBench如何量化评估大模型防护能力

在人工智能和机器学习领域,模型安全对齐是确保AI系统可靠、可控的核心技术。其原理是通过设计安全机制(即“护栏”)来约束模型行为,防止生成有害、偏见或越界内容。这项技术的核心价值在于平衡AI能力与风险管控,是可信AI部署的基石。应用场景广泛覆盖内容审核、对话系统、代码生成等需要人机交互的领域。本文聚焦的TrustedExecBench项目,正是针对“护栏”性能量化评估这一痛点,提供了一个标准化、自动化的开源评测框架。该工具通过构建多维度的恶意测试套件,并引入基于模型的动态评判机制,能够系统性地检验大语言模型在

weixin_42525428的博客 378

深入大模型-13-大模型Skills应用之标准目录结构和开发一个Skill的步骤

首先对比Prompt工程,上下文工程,Skills工程,MCP工具的概念与区别,然后介绍Skill的标准目录结构,同时描述了开发一个Skill的步骤和最佳实践。

qq_20466211的博客 748

剑指offer:二维数组中的查找(Python)

题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解题思路 形如上图的数组样式,满足题目描述的条件,该如何求解这道题呢? 错误思路 我第一反应是从左上角往右下角寻找,但是仔细思考下来发现不对劲:比如要判断数组中有没有“6”这个数字,按照下图左边那张的...

种因收果 2888

华为OD机试 新系统 双机位C卷 真题题库目录|机考题库 + 算法考点详解

本文整理华为OD机试(机考) 新系统真题题库,提供高频考点精析与详细题目内容,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解 和 在线OJ做题练习。华为OD机试新系统真题题库。

qq_45776114的博客 10万+

剑指offer-01 二维数组中的查找

个人笔记记录使用 目前只基于一种解法 快速刷完剑指offer 本题使用最简单的暴力遍历数组法 #暴力法遍历数组 def find(tar,array): i = 0 j = 0 k = len(array) l = len(array[0]) for i in range(k): for j in range(l): ...

qq_35912099的博客 227

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【剑指offer】01——二维数组中的查找

题目描述   在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 例如: 输入一个二维数组: [ [2,4,7], [3,6,12], [5,10,15] ] 输入一个整数:5,返回 true 输入一个整数:8,返回 false 一、解题思...

Daycym的博客 1031

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

剑指Offer-01-二维数组中的查找

题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 package hhy.offer; /** * 01.二维数组中的查找 * * 从右上角开始往下进行查找,逐步去掉不满足条件的行或者列 * */ public class Test0...

qq_27512741的博客 255

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

剑指offer01——二维数组中的查找

剑指offer01——二维数组中的查找 一、 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 二、解题方法 1.暴力遍历法 此处开头无需判断二维数组是否为空 public class Solution { //暴力遍历法 public boolean Find(int target, int [][] array) { i

qq_45657451的博客 161

【剑指offer系列01✨】二维数组中的查找

内容介绍 本系列我将带着大家一起刷剑指offer的题目,欢迎大家一起交流一起讨论⭐️⭐️⭐️,希望能得到大家的????和???????? 题目介绍: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样一个二维数组和一个整数,判断该数组中是否含有该整数。 思路:当任取数组中的一个数字的时候有三种情况: 当数组中选择的数字刚好等于要寻找的数,则结束寻找 如果选择的数字小于要查找的数,则要查找的数在该数的右边或下面 如果选择的数字大于要

weixin_52134286的博客 1279

01 图解剑指Offer 二维数组中的查找 Java题解

这里写自定义目录标题剑指Offer 01 二维数组中的查找 Java题解 剑指Offer 01 二维数组中的查找 Java题解 public class Solution { public boolean Find(int target, int [][] array) { int row = 0; int col = array[0].length - 1; while(row < array.length &&amp

Vaxue的博客 322

【剑指Offer】01、二维数组中的查找

题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 题解一:二分查找 1 /** 2 把每一行看成有序递增的数组, 3 利用二分查找,通过遍历每一行得到答案 4 时间复杂度是nlogn 5 ...

princecharming666的博客 100

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

题目来源:牛客网-剑指Offer专题 题目地址:二维数组中的查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 题目解析 方法一: 暴力法,遍历二维数组,时间复杂度为 O(n2)O(n^2)O(n2) public class Solut...

Veggie的博客 1万+

剑指Offer01 二维数组中的查找

剑指Offer01: 二维数组中的查找 题意 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路 因为二维数组中的元素从左到右递增,从上到下也递增,所以可以从左下角或者右上角开始搜索,从左下角开始搜索时,若当前元素大于目标元素,则向右走一步,若小于,则往上走一步。 代码 class Solution { public: bool Find(int tar

qq_39109729的博客 119

剑指Offer-01二维数组中的查找

题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 分析 1.暴力遍历法(最容易想到) 通过遍历该二维数组中的每一个元素,并与target进行比较,相等返回true,不等返回false; 2.左上查找法 3.右下查找法 代码 public class Solution { public boolean Find(int target, int [

STAR 159

剑指Offer_01二维数组查找

001二维数组查找题目描述解题思路C++代码实现python代码实现 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解题思路 从左下角开始查找: 如果target更小,指针上移 如果target更大,指针右移 C++代码实现 C++ clan...

weixin_43654857的博客 174

JZ01 剑指offer 二维数组中的查找

第1题 二叉搜索树与双向链表 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 class Solution { public: bool Find(int target, vector<vector<int> > array) { if(array.empty()) return false;

KazeHelloWorld的博客 192

剑指Offer-01——二维数组中的查找

题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 题目来源:牛客网   首先看看什么是二维数组:下面的数组就是一个int[3][5]的数组。 我一看到,就想的是直接遍历比较。(果然还是太菜了啊。)然后又想到昨天面试时,字节跳动的面试官小姐姐说的...

H1517043456的博客 242
上一篇: 数据结构之多类排序详解
下一篇: linux之进程间通信(管道)
Python_programer
博客等级 码龄9年 25粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值