OJ刷题:杨氏矩阵【建议收藏】

看见这个题目,很多人的第一反应是遍历整个数组查找数字,但是这种方法不仅效率低,而且远远不能满足题目要求。下面介绍一种高效的查找方法:
代码实现:
#include <stdio.h>int Yang_Find_Num(int arr[][3], int r, int c,int k)
{int x = 0;int y = c - 1;while (x <= r - 1 && y >= 0){if (arr[x][y] < k){x++;}else if(arr[x][y] > k){ y--;}else{return 1;}}return 0;}int main()
{int arr[3][3] = { {1,2,3},{4,5,6},{7,8,9} };int k = 5;int ret = Yang_Find_Num(arr, 3, 3,k);if (ret == 1){printf("找到了\n");}else{printf("找不到\n");}return 0;
}
算法思想:

如果我们想返回查找数字的行,列下标,可以对上述代码进行改进:
#include <stdio.h>//返回型参数
int Yang_Find_Num(int arr[][3], int*px, int* py, int k)
{int x = 0;int y = *py - 1;while (x <= *px - 1 && y >= 0){if (arr[x][y] < k){x++;}else if (arr[x][y] > k){y--;}else{*px = x;*py = y;return 1;}}return 0;}int main()
{int arr[3][3] = { {1,2,3},{4,5,6},{7,8,9} };int k = 0;scanf("%d", &k);int r = 3;int c = 3;int ret = Yang_Find_Num(arr, &r, &c, k);//传址调用if (ret == 1){printf("下标为:%d %d\n",r,c);}else{printf("找不到\n");}return 0;
}
输出结果:

相关文章:
OJ刷题:杨氏矩阵【建议收藏】
看见这个题目,很多人的第一反应是遍历整个数组查找数字,但是这种方法不仅效率低,而且远远不能满足题目要求。下面介绍一种高效的查找方法: 代码实现: #include <stdio.h>int Yang_Find_Num(int arr[][3], int …...
2024-02-13 Unity 编辑器开发之编辑器拓展4 —— EditorGUIUtility
文章目录 1 EditorGUIUtility 介绍2 加载资源2.1 Eidtor Default Resources2.2 不存在返回 null2.3 不存在则报错2.4 代码示例 3 搜索框查询、对象选中提示3.1 ShowObjectPicker3.2 PingObject3.3 代码示例 4 窗口事件传递、坐标转换4.1 CommandEvent4.2 GUIPoint 和 ScreenPoi…...
redis加锁实现方式
思考 是否有官方推荐(自己先思考如何实现,然后再参考其他人的实践,总结优缺点)通过哪些方式可以实现锁锁是否具有原子性锁请求失败了如何处理如果避免发生死锁如果避免发生资源抢占如果避免锁的误删 官方实现策略 安全性能&#…...
ClickHouse--08--SQL DDL 操作
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 SQL DDL 操作1 创建库2 查看数据库3 删除库4 创建表5 查看表6 查看表的定义7 查看表的字段8 删除表9 修改表9.1 添加列9.2 删除列9.3 清空列9.4 给列修改注释9.5 修…...
5种风格非常经典的免费wordpress主题
免费wordpress主题下载 高端大气上档次的wordpress主题,也可以是免费的,可以在线免费下载。 https://www.wpniu.com/themes/288.html wordpress免费主题 高端大气的wordpress免费主题,LOGO在顶部左侧,导航菜单在顶部右侧。 ht…...
「数据结构」哈希表2:实现哈希表
🎇个人主页:Ice_Sugar_7 🎇所属专栏:Java数据结构 🎇欢迎点赞收藏加关注哦! 实现哈希表 🍉扩容🍉插入🍉获取value🍉源码 🍉扩容 在讲插入之前需要…...
ITK 图像分割(一):阈值ThresholdImageFilter
效果: Video: 区域增加分割 1、itkThresholdImageFilter 该类的主要功能是通过设置低阈值、高阈值或介于高低阈值之间,则将图像值输出为用户指定的值。 如果图像值低于、高于或介于设置的阈值之间,该类就将图像值设置为用户指定的“外部”值…...
2023.2.6
#include<stdio.h> #include<string.h> //冒泡排序 void bubb(int arr[],int len) {for(int i1;i<len;i){for(int j0;j<len-i1;j){if(arr[j1]<arr[j]){int tarr[j];arr[j]arr[j1];arr[j1]t;}}} } //select排序 void select(int arr[],int len) {int min0;…...
例39:使用List控件
建立一个EXE工程,在窗体上放一个文本框,一个列表框和三个按钮输入如下的代码: Sub Form1_Command1_BN_Clicked(hWndForm As hWnd, hWndControl As hWnd)List1.AddItem(Text1.Text)End SubSub Form1_Command2_BN_Clicked(hWndForm As hWnd, h…...
浏览器内核的主要功能模块介绍
浏览器内核是浏览器的核心部分,负责解析网页内容、渲染页面和处理用户交互。一个典型的浏览器内核主要包括以下几个功能模块: 1. **解析器(Parser)**: 解析器负责解析网页内容,包括HTML…...
如何流畅进入Github
前言 以下软件是免费的,放心用 一、进入右边的下载链接https://steampp.net/ 二、点击下载 三、点击接受并下载 四、随便选一个下载链接进行下载 五、软件安装好打开后,找到Github 六、点击全部启用 七、再点击左上角的一键加速 八、这个时候你再进Git…...
docker磁盘不足!已解决~
目录 🍟1.查看docker镜像目录 🧂2.停止docker服务 🥓3.创建新的目录 🌭4.迁移目录 🍿5.编辑迁移的目录 🥞6.重新加载docker 🍔7.检擦docker新目录 🍳8.删掉旧目录 1.查看doc…...
法国实习面试——计算机相关专业词汇
法语 1.Spcialit - 专业 2.Systme - 系统 3.Embarqus - 嵌入式 4.Logicielle - 软件 5.Distribus - 分布式 6.lectronique - 电子 7.nergie lectrique - 电能 8.Automatisation - 自动化 9.Une exprience de stage - 实习经验 10.Automobiles - 汽车 11.tre charg…...
LeetCode刷题计划
LeetCode刷题计划 推荐 代码随想录:https://github.com/youngyangyang04/leetcode-master 卡码网 练习ACM模式 https://kamacoder.com/ 01 #include <iostream> using namespace std;int main() {int a ,b;while(cin>>a>>b){cout<<ab<…...
2023全球云计算市场份额排名
关注卢松松,会经常给你分享一些我的经验和观点。 最近Synergy研究院发布了最新的全球云计算市场份额排名。 亚马逊依旧是以31%的的市场份额排名第一,微软azure24%排名第二,Google云11%排名第三,阿里云4%排名第四。腾讯云和IBM、…...
Oracle数据库
1. 请解释什么是分区表(Partitioned Table)以及它的优点。 分区表是一种数据库技术,它将一个大表分成多个小的、更易于管理的部分,每个部分称为一个分区。以下是Oracle分区表的一些优点: 提高查询性能:通…...
Spring Cloud Hystrix 参数配置、简单使用、DashBoard
Spring Cloud Hystrix 文章目录 Spring Cloud Hystrix一、Hystrix 服务降级二、Hystrix使用示例三、OpenFeign Hystrix四、Hystrix参数HystrixCommand.Setter核心参数Command PropertiesFallback降级配置Circuit Breaker 熔断器配置Metrix 健康统计配置Request Context 相关参数…...
阿里云服务器4核16G配置报价和CPU内存性能参数表
阿里云4核16G服务器优惠价格ECS云服务器经济型e实例26元1个月、149元半年、79元3个月,4核16G通用算力u1服务器、通用型g7、通用型g8i、AMD通用型g8a、性能增强通用型g8ae、高主频通用型hfg8i、AMD通用型g7a、内存型r7p等均提供4核16G配置。阿里云服务器网aliyunfuwu…...
数据结构:图文详解 队列 | 循环队列 的各种操作(出队,入队,获取队列元素,判断队列状态)
目录 队列的概念 队列的数据结构 队列的实现 入队 出队 获取队头元素 获取队列长度 循环队列的概念 循环队列的数据结构 循环队列的实现 判断队列是否为空 判断队列是否已满 入队 出队 得到队头元素 得到队尾元素 队列的概念 队列(Queue࿰…...
Debezium发布历史130
原文地址: https://debezium.io/blog/2022/10/10/debezium-2.0-cr1-released/ 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. Debezium 2.0.0.CR1 Released October 10, 2022 by Chris Cranford rel…...
零基础新手指南:借助快马AI无需代码构建你的第一篇论文官网
作为一个完全没有编程基础的研究生,我曾经为了搭建个人论文展示网站头疼不已。直到发现了InsCode(快马)平台,整个过程变得异常简单。下面分享我的完整实践过程,希望能帮助到同样需要展示学术成果的朋友们。 明确网站需求结构 在开始前&#x…...
51单片机实战:从零构建电子密码锁系统
1. 项目背景与硬件准备 第一次接触51单片机时,我就被它的实用性深深吸引。作为电子爱好者入门的最佳选择,STC89C52这款经典芯片就像乐高积木的基础模块——价格亲民(某宝20元就能买到开发板)、资源丰富(8K Flash、512…...
AutoSAR从入门到精通:构建标准化汽车软件架构的完整指南
1. 为什么汽车软件需要AutoSAR? 十年前我刚入行汽车电子时,每个OEM厂商的ECU软件都是独立开发的"黑盒子"。同一款车窗控制功能,在德系、日系、美系车型上要用完全不同的代码实现。更痛苦的是,当需要升级ADAS功能时&…...
德意志飞机通过全球协作升级支线航空驾驶舱人机工学
2026年1月15日 —— 作为总部位于德国舍瑙的MAFELEC集团旗下成员,COMTRONIC GmbH近五十年来一直是航空航天领域人机界面(HMI)解决方案领域值得信赖的供应商。凭借在照明面板、定制键盘及先进光学技术方面的深厚积淀,COMTRONIC长期…...
【手把手教学】使用stitch 生成ui图,导入figma,再用codebuddy生成工程代码
目录 一.stich使用 1.1 关键词生成 1.2 生成ui图 1.3 导出figma编辑 二. codebuddy使用 编辑2.1打开figma 编辑 2.2 复制ui到设计面板 2.3生成工程代码 三. 结语 一.stich使用 stich官网地址 Google Stitch 是 Google Labs 推出的、基于 Gemini 大模型驱动的A…...
汽车动力性能计算工具插件:一键测算电机需求与整车性能,工程师专属轻量级辅助软件
温馨提示:文末有联系方式插件核心功能亮点 本款汽车动力性系统专用计算小工具,可精准推演电机功率与扭矩需求,同步输出整车加速性能、最大爬坡度、最高稳定车速等关键动力参数,覆盖常规工况与典型驱动场景,满足前期方案…...
嵌入式开发必备:三大代码对比工具深度评测
1. 代码对比工具概述作为一名嵌入式开发工程师,我每天都要处理大量的代码修改和版本对比工作。在多年的开发实践中,我发现选择合适的代码对比工具能极大提升工作效率。虽然Beyond Compare是业内公认的标杆产品,但实际工作中我们还有更多选择&…...
基于pyqt的规则匹配的恶意代码检测系统
当前的恶意代码检测研究中,尽管传统特征匹配(signature-based detection)仍然广泛应用,但面对快速更新且具有混淆、加壳、动态加载、自变异(polymorphism/metamorphism)等能力的新型恶意代码&am…...
BurpSuite导入P12证书遇到密码问题?3种无密码解决方案实测
BurpSuite导入P12证书遇到密码问题?3种无密码解决方案实测 在企业安全测试和渗透评估过程中,客户端证书认证是常见的防护机制。当BurpSuite提示需要P12证书密码而您又无法获取时,整个测试流程可能陷入僵局。本文将分享三种经过实战验证的解决…...
Kivy中文显示乱码?3步搞定字体配置(附免费字体下载)
Kivy中文显示乱码?3步搞定字体配置(附免费字体下载) 当你在Kivy应用中看到中文变成一堆问号或方框时,别急着怀疑人生——这通常是字体配置的小问题。作为Python生态中最受欢迎的跨平台GUI框架之一,Kivy默认使用Roboto字…...
