【C语言每日一题】杨氏矩阵(源码以及改进源码)

news/2024/4/24 7:15:28/文章来源:https://blog.csdn.net/weixin_73534885/article/details/129237086

【C语言每日一题】—— 杨氏矩阵😎😎😎

目录

💡前言🌞: 

 💛杨氏矩阵题目💛 

💪 解题思路的分享💪 

 😊题目源码的分享😊

 👉 本菜鸡&总结 👈


😎博客昵称:陈大大陈

😊座右铭:所谓觉悟,就是在漆黑的荒野上开辟出一条理当前进的光明大道。

😋博主简介:一名热爱C/C++和算法等技术,喜欢运动,爱胡思乱想却胸怀大志的小博主!

😚博主&唠嗑:早中晚安!😄各位CSDN的朋友!😄我是博客新人陈大大陈,希望我的文章能为你带来帮助!欢迎大家在评论区畅所欲言!也希望大家多多为我提出您宝贵的建议!😘如果觉得我写的不错的话还请点个赞和关注哦~😘😘😘

 

💡前言🌞: 

大伙们好!😄又到了小陈每日一题的时间了~ 😋😋😋今天也带来了十分有趣的题目!🥰🥰🥰用C语言实现——杨氏矩阵~这个题目很有意思,新颖的同时又很值得思考!我现在迫不及待地要和大家分享~!😄🤗🤗

 💛杨氏矩阵题目💛 

💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡

有一个数字矩阵,矩阵的每行从左到右递增的,矩阵从上到下递增的,请编写程序在这样的矩阵中查找某个数字是否存在。

要求:时间复杂度小于O(N);

💪 解题思路的分享💪 

  • 如果没有时间复杂度小于O(N)的条件,我们就可以用两个循环来遍历数组轻易地解决问题,但是题目给出了要求,我们就另寻出路🤗。
  • 通过观察题目,我们发现,在杨氏矩阵里,矩阵的每行从左到右递增的,所以右上角的元素是一行中最大,一列中最小,而左下角的元素是一行中最小,一列中最大。
  • 知道这个信息之后,我们就可以从右上角或者左下角来查找
  • 从右上角开始查找时,如果所查找的数字大于右上角的元素,那么就说明这一行的元素没有比所查找元素大的,我们就可以直接跳过这一行。
  • 而如果右上角的元素比我们要查找的元素大,我们就可以去掉右上角元素所在的这一列。然后依然找右上角的元素继续和要查找的元素与比较。
  • 我们通过这样的算法,每次去掉一行或者一列,写出的代码效率是高于遍历数组的,也满足时间复杂度小于O(N)的要求。

 😊题目源码的分享😊

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>int findnum(int a[][3], int x, int y, int f) //第一个参数的类型需要调整
{int i = 0, j = y - 1;//从右上角开始遍历while (j >= 0 && i < x){if (a[i][j] < f) //比我大就向下{i++;}else if (a[i][j] > f) //比我小就向左{j--;}else{return 1;}}return 0;
}int main()
{int a[][3] = { {1, 3, 5},{3, 5, 7},{5, 7, 9} }; //一个示例if (findnum(a, 3, 3, 2)){printf("找到了!\n");}else{printf("没找着!\n");}return 0;
}

 👉 本菜鸡&总结 👈

本篇文章旨在分享C语言详解【C语言每日一题】——杨氏矩阵。🤠希望我的文章能够让大家有所收获!😋😋😋大佬们如果对我的文章有什么建议,或者认为那里写的不好,请在评论区写下您宝贵的意见!😀如果觉得我写的不错的话还请点个赞和关注哦~我会持续输出编程的知识的!🌞🌞🌞 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_74589.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SSM知识快速复习

SSM知识快速复习SpringIOCDIIOC容器在Spring中的实现常用注解Autowired注解的原理AOP相关术语作用动态代理实现原理事务Transactional事务属性&#xff1a;只读事务属性&#xff1a;超时事务属性&#xff1a;回滚策略事务属性&#xff1a;事务隔离级别事务属性&#xff1a;事务…

Windows下载安装Prometheus

目录 资料 下载 解压 点击prometheus.exe运行 资料 Prometheus是一个开源的系统监控和报警系统&#xff0c;同时也支持多种exporter采集数据&#xff0c;还支持pushgateway进行数据上报&#xff0c;Prometheus性能足够支撑上万台规模的集群。 官网&#xff1a;https://pr…

阿里大数据之路总结

一、数据采集 二、数据同步 2.1、数据同步方式&#xff1a; 数据同步的三种方式&#xff1a;直连方式、数据文件同步、数据库日志解析方式 关系型数据库的结构化数据&#xff1a;MYSQL、Oracle、DB2、SQL Server非关系型数据库的非结构化数据&#xff08;数据库表形式存储&am…

【ESP 保姆级教程】疯狂毕设篇 —— 案例:基于ESP8266和EMQX的教室灯光控制系统

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-02-26 ❤️❤️ 本篇更新记录 2022-02-26 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…

智慧物联网源码带手机端源码 物联网系统源码

在智慧工厂领域&#xff0c;智慧城市领域&#xff0c;都需要对设备进行监控。比如工厂需要对周围环境温度、湿度、气压、电压&#xff0c;灯的开关进行监控。这时候就需要物联网平台来进行管理。 推荐一个基于java开发的物联网平台&#xff0c;前端HTML带云组态、可接入视频监…

酷炫的数据可视化,背后的制作工具究竟是什么?

数据可视化已经成为当代互联网的热词&#xff0c;不论是哪个行业都在使用。那么背后制作出数据可视化的可视化工具是什么呢&#xff1f;它又有哪些呢&#xff1f; 一、可视化工具是什么 可视化工具其实是 Visual Studio 调试器用户界面的组件&#xff0c;听起来很复杂对吧。但…

图节点嵌入相关算法学习笔记

引言 本篇笔记为coggle 2月打卡任务&#xff0c;正好也在学习cs224w&#xff0c;干脆就一起做了&#xff0c;以下是任务列表&#xff1a; 任务名称难度任务1&#xff1a;图属性与图构造低、1任务2&#xff1a;图查询与遍历低、2任务3&#xff1a;节点中心性与应用中、2任务4&…

redis(10)事务和锁机制

Redis事务定义 Redis 事务是一个单独的隔离操作&#xff1a;事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中&#xff0c;不会被其他客户端发送来的命令请求所打断。 Redis 事务的主要作用就是串联多个命令防止别的命令插队。 Multi、Exec、discard Redis 事务中…

15 Nacos客户端实例注册源码分析

Nacos客户端实例注册源码分析 实例客户端注册入口 流程图&#xff1a; 实际上我们在真实的生产环境中&#xff0c;我们要让某一个服务注册到Nacos中&#xff0c;我们首先要引入一个依赖&#xff1a; <dependency><groupId>com.alibaba.cloud</groupId>&l…

idea debug elasticsearch8.6.2 源码

前置依赖&#xff1a; gradle 7.5.1&#xff1a;Gradle | Releases openJDK 17&#xff1a;https://download.oracle.com/java/17/latest/jdk-17_windows-x64_bin.exe idea&#xff1a;IntelliJ IDEA 2022.1 (Ultimate Edition) 1、下载源码 8.6.2 zip包 并解压 地址&…

在 Flutter 中使用 webview_flutter 4.0 | 基础用法与事件处理

大家好&#xff0c;我是 17。 Flutter WebView 一共写了四篇文章 在 Flutter 中使用 webview_flutter 4.0 | 基础用法与事件处理在 Flutter 中使用 webview_flutter 4.0 | js 交互Flutter WebView 性能优化&#xff0c;让 h5 像原生页面一样优秀&#xff0c;已入选 掘金一周 …

「回顾RKDC2023」飞凌嵌入式受邀亮相第七届瑞芯微开发者大会

2023年2月23-24日&#xff0c;第七届瑞芯微开发者大会&#xff08;RKDC2023&#xff09;在福州隆重举行&#xff0c;飞凌嵌入式作为瑞芯微生态合作伙伴受邀参会&#xff0c;并与数千名开发者科技公司代表及行业领袖共同聚焦行业新兴产品需求&#xff0c;探讨新硬件发展趋势&…

STC32单片机 普通 I/O 口中断功能介绍和使用

STC32单片机 普通 I/O 口中断功能和使用✨STC32单片机普通 I/O 口中断&#xff0c;不是传统外部中断. &#x1f516;手册上描述&#xff1a;STC32G 系列支持所有的 I/O 中断&#xff0c;且支持 4 种中断模式&#xff1a;下降沿中断、上升沿中断、低电平中断、高电平中断。每组 …

网络方面的复习

这个博客参考了许多up主的视频和网上其他的博主的文章&#xff0c;还有我老师的ppt 这里是目录一、osi七层模型&#xff08;参考模型&#xff09;1.物理层2.数据链路层&#xff08;数据一跳一跳进行传递&#xff09;3.网络层&#xff08;端到端传输&#xff09;4.传输层&#x…

C语言深度剖析:关键字

C语言深度剖析:关键字C语言深度剖析:关键字前言定义与声明&#xff08;补充内容&#xff09;最宏大的关键字-auto最快的关键字-register关键字static被冤枉的关键字-sizeof整型在内存中的存储原码、反码、补码大小端补充理解变量内容的存储和取出为什么都是补码整型取值范围关于…

Pages Hexo 博客使用总结

参考&#xff1a;https://blog.csdn.net/yaorongke/article/details/119089190 Hexo Fluid 首页&#xff1a;https://hexo.fluid-dev.com/docs/ Hexo Fluid 配置&#xff1a;https://hexo.fluid-dev.com/docs/guide/#%E5%B1%95%E7%A4%BA-pv-%E4%B8%8E-uv-%E7%BB%9F%E8%AE%A1 文…

IM即时通讯开发如何解决大量离线消息导致客户端卡顿的

大部分做后端开发的朋友&#xff0c;都在开发接口。客户端或浏览器h5通过HTTP请求到我们后端的Controller接口&#xff0c;后端查数据库等返回JSON给客户端。大家都知道&#xff0c;HTTP协议有短连接、无状态、三次握手四次挥手等特点。而像游戏、实时通信等业务反而很不适合用…

改进的 A*算法的路径规划(路径规划+代码+毕业设计)

引言 近年来&#xff0c;随着智能时代的到来&#xff0c;路径规划技术飞快发展&#xff0c;已经形成了一套较为成熟的理论体系。其经典规划算法包括 Dijkstra 算法、A算法、D算法、Field D算法等&#xff0c;然而传统的路径规划算法在复杂的场景的表现并不如人意&#xff0c;例…

improve-2

BFC 块级格式化上下文&#xff0c;是一个独立的渲染区域&#xff0c;让处于 BFC 内部的元素与外部的元素相互隔离&#xff0c;使内外元素的定位不会相互影响。 IE下为 Layout&#xff0c;可通过 zoom:1 触发 触发条件: 根元素position: absolute/fixeddisplay: inline-block /…

区块链到底是个啥???

点击上方“小强的进阶之路”&#xff0c;选择“星标”公众号优质文章&#xff0c;及时送达预计阅读时间: 2分钟区块链起源2008 年&#xff0c;金融系统崩溃&#xff0c;世界惊恐万状。随后多年&#xff0c;银行、监管机构等负责金融系统运行的中央实体管理不善。那一时期&#…