杨氏矩阵和杨辉三角
杨氏矩阵
有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。
要求:时间复杂度小于O(N);
分析
若要满足要求时间复杂度小于O(N),就不能每一行一个个找。

根据杨氏矩阵的特点(行递增、列递增),我们可以从矩阵的右上角开始,
就比如我们要找上图中的数字7,
9>7,因为列递增 ,9是该列最小的数字,都大于7,所以第4列的数字都比7大,排除第4列
右上角数字变为了6,6<7,因为行递增,6是该行最大的数字,都小于7,所以第1行的数字都比7小,排除第1行

右上角数字变为了7,7=7,找到了

代码实现
// 假设有4列,x行,y列,key是要找的数字
int FindNum(int arr[][4], int x, int y, int key)
{int i = 0;int j = y - 1;//满足此循环,i和j都是合法的while (j >= 0 && i < x){if (arr[i][j] > key){j--;}else if (arr[i][j] < key){i++;}else{return 1;//找到了}}return 0;//没找到
}
杨辉三角
在屏幕上打印杨辉三角
分析
杨辉三角的特点:除了外围的数字为1,其他满足 数字 = 这列的上一行数字 + 上一行前一列数字
我们定义有i行j列

其中数字是1的下标满足:j==0或i==j
其他数字的下标满足:[i][j] = [i-1][j] + [i-1][j-1]

代码实现
#include<stdio.h>
//在屏幕上打印杨辉三角。
void YanghuiTriangle(int arr[][4], int n)
{for (int i = 0; i < n; i++){for (int j = 0; j <= i; j++){if (j == 0 || i == j){arr[i][j] = 1;}else{arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];}}}//打印for (int i = 0; i < n; i++){for (int j = 0; j <= i; j++){printf("%d ", arr[i][j]);}printf("\n");}
}
int main()
{int arr[4][4] = { 0 };YanghuiTriangle(arr, 4);return 0;
}
相关文章:
杨氏矩阵和杨辉三角
杨氏矩阵 有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。 要求:时间复杂度小于O(N); 分析 若要满足要求时间复杂度小于O(N),就不能每一行一个个…...
PostgreSQL教程(四):高级特性
一、简介 在之前的章节里我们已经涉及了使用SQL在PostgreSQL中存储和访问数据的基础知识。现在我们将要讨论SQL中一些更高级的特性,这些特性有助于简化管理和防止数据丢失或损坏。最后,我们还将介绍一些PostgreSQL扩展。 本章有时将引用教程࿰…...
168基于matlab的六自由度并联摇摆台的反解控制算法
基于matlab的六自由度并联摇摆台的反解控制算法,stewart平台,配有GUI界面,可以自定义角度,杆长等参数。设定动平台位姿即能得到电机参数。程序已调通,可直接运行。 168 六自由度并联摇摆台 反解控制算法 (xiaohongshu.…...
MDC 日志跟踪笔记
一、前言 本文主要解析应用中比较实在的一个log4j的链路应用,在经过一段时间的应用后发现还是很稳的,就记录一下这个MDC 代表Mapped Diagnostic Context(映射式诊断上下文)的情况。 Tisp: 它是一个线程安全的存放诊断日志的容器 T…...
MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
项目场景 有时候,遇到数据库重复数据,需要将数据进行分组,并取出其中一条来展示,这时就需要用到group by语句。 但是,如果mysql是高版本,当执行group by时,select的字段不属于group by的字段的…...
人工智能|机器学习——基于机器学习的舌苔检测
代码下载: 基于深度学习的舌苔检测毕设留档.zip资源-CSDN文库 1 研究背景 1.1.研究背景与意义 目前随着人们生活水平的不断提高,对于中医主张的理念越来越认可,对中医的需求也越来越多。在诊断中,中医通过观察人的舌头的舌质、苔…...
SQL查询转化为 Elasticsearch 查询
使用SQL 转化为查询 Elasticsearch 支持 sql 语句转化为 elasticsearch 的 查询语句 第一步: 打开在线转换工具的网页,进入工具页面 第二步:在指定的输入框中输入需要转换的 sql 语句。 您学会了这么简单的办法...
目标检测教程视频指南大全
魔鬼面具-哔哩哔哩视频指南 必看干货系列(建议搞深度学习的小伙伴都看看,特别是图像相关) 深度学习常见实验问题与实验技巧(适用于所有模型,小白初学者必看!)还在迷茫深度学习中的改进实验应该从哪里开始改起的同学,一定要进来看看了!用自身…...
【Linux取经路】文件系统之重定向的实现原理
文章目录 一、再来理解重定向1.1 输出重定向效果演示1.2 重定向的原理1.3 dup21.4 输入重定向效果演示1.5 输入重定向代码实现 二、再来理解标准输出和标准错误2.1 同时对标准输出和标准错误进行重定向2.2 将标准输出和标准错误重定向到同一个文件 三、再看一切皆文件四、结语 …...
JAVA设计模式结构型模式
一、前言 java设计模式主要分为创建型模式,结构型模式和行为型模式。上一篇主要总结了行为型设计模式,本章总结,结构型模式。像创建型模式就不写了,比较简单。大概知道是工厂模式和建造者模式,原型模式就行࿰…...
第4讲引入JWT前后端交互
引入JWT前后端交互 Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519); JWT就是一段字符串,用来进行用户身份认证的凭证,该字符串分成三段【头部、载荷、签证】 后端接口测试&…...
基于Java的车辆租赁管理平台/租车系统
功能介绍 平台采用B/S结构,后端采用主流的Springboot框架进行开发,前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 前台功能包括:首页、车辆详情、车辆预订、用户中心模块。后台功能包括:车辆管理、分类管理…...
如何升级至ChatGPT Plus:快速指南,ChatGPT的秘密武器GPT4.0是什么?
提到 ChatGPT。想必大家都有所耳闻。自从 2022 年上线以来,就受到国内外狂热的追捧和青睐,上线2个月,月活突破1个亿!!! 而且还在持续上涨中。因为有很多人都在使用 ChatGPT 。无论是各大头条、抖音等 App、…...
【天衍系列 05】Flink集成KafkaSink组件:实现流式数据的可靠传输 高效协同
文章目录 01 KafkaSink 版本&导言02 KafkaSink 基本概念03 KafkaSink 工作原理1.初始化连接2.定义序列化模式3.创建KafkaSink算子4.创建数据源5.将数据流添加到KafkaSink6.内部工作机制 04 KafkaSink参数配置05 KafkaSink 应用依赖06 KafkaSink 快速入门6.1 包结构6.2 项目…...
深度学习之pytorch实现逻辑斯蒂回归
深度学习之pytorch实现逻辑斯蒂回归 解决的问题数学公式logiatic函数损失值 代码与线性回归代码的区别数据损失值构造回归的函数 结果分析 解决的问题 logistic 适用于分类问题,这里案例( y为0和1 ,0和 1 分别代表一类) 于解决二分类…...
有事休假店铺无人看守怎么办?智能远程视频监控系统保卫店铺安全
在春节期间,很多自营店主也得到了久违的假期,虽然很多店主都是长期在店铺中看守,但遇到春节这样的日子,多数人还是选择回乡休假。面对店主休假或有事不能管理店铺时,传统的监控虽然可以做到单一的监控,却仍…...
酷开科技 | 酷开系统壁纸模式,让过年更有氛围感!
在阵阵爆竹声中,家家户户都沉浸在浓浓的年味中。过年,是团圆,是温暖。团团圆圆的日子里,仪式感不可少,换上一张喜气洋洋的电视壁纸吧,寓意幸福一年又一年。打开酷开系统壁纸模式挑选一张年味十足的壁纸&…...
Docker中部署flink集群的两种方式
文章目录 一、概述二、准备工作三、方式一四、方式二1、准备配置文件2、执行 docker 命令 一、概述 本文将通过 2 种方式在 docker 中部署 flink standalone 集群,集群中共有 4 个节点,分别是 1 个 jobManager 节点和 3 个 taskManager 节点。方式一能快…...
八、计算机视觉-边界填充
文章目录 前言一、原理二、具体的实现 前言 在Python中使用OpenCV进行边界填充(也称为zero padding)是一种常见的图像处理操作,通常用于在图像周围添加额外的像素以便进行卷积或其他操作。下面是使用OpenCV进行边界填充的基本原理和方法 一…...
ffmpeg 硬件加速介绍
基于OS的硬件加速 Windows 参考[2],基于windows的硬件加速都是基于DirectX API,我们可以用ffmpeg -hwaccels查看当前环境支持的硬件加速接口,如下为windows上的执行ffmpeg --hwaccels的结果。 在linux上执行ffmpeg -hwaccels的结果如下: 可以看到windows上支持的硬件加速…...
省考面试必看!初心教育不玩虚的,真实口碑+实战演练,上岸更稳
公考面试有多卷?千人争一岗,拼的不只是实力,更是选择!选对培训机构,能少走半年弯路;选不对,再努力也可能白费功夫 今天给所有进面考生避坑,推荐一家深耕公考面试多年、口碑拉满的宝藏…...
OpenClaw技能组合拳:Qwen3.5-9B实现多步骤跨境电商运营
OpenClaw技能组合拳:Qwen3.5-9B实现多步骤跨境电商运营 1. 为什么选择OpenClaw做跨境电商自动化? 去年夏天,我接手了一个跨境电商副业项目。每天需要手动处理商品信息抓取、多语言翻译、定价调整和库存同步,很快发现人工操作不仅…...
OpenClaw+千问3.5-9B数据清洗:Excel表格异常值检测与修复
OpenClaw千问3.5-9B数据清洗:Excel表格异常值检测与修复 1. 为什么需要AI辅助数据清洗? 上周处理一份客户调研数据时,我遇到了典型的数据清洗难题——表格里混杂着空值、格式混乱的日期、重复记录和错误拼写。手动处理不仅耗时,…...
2026届学术党必备的降AI率平台横评
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 降低那个AIGC率的关键要点在于削弱机器生成所呈现出的模式化特性。其一,对句式结…...
Windows环境下SeaweedFS的快速部署与实战指南
1. 五分钟搞定SeaweedFS Windows安装 第一次听说SeaweedFS时,我也被这个"海草文件系统"的名字逗笑了。但别被名字迷惑,它可是个正经的分布式文件存储系统,特别适合处理海量小文件。我在Windows上部署过好几次,发现比想象…...
当PLC网口IP丢了怎么办?用Wireshark抓LLDP包,免费找回施耐德M580的地址
工业现场急救指南:用Wireshark找回施耐德M580 PLC的失踪IP地址 那天下午三点,工厂生产线突然停机,监控系统显示PLC通讯中断。当我冲到控制柜前,发现前任工程师留下的文档里,M580的IP地址记录栏赫然写着"见设备标签…...
终极指南:用XUnity自动翻译器让外文游戏秒变中文
终极指南:用XUnity自动翻译器让外文游戏秒变中文 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为看不懂外文游戏而烦恼吗?XUnity自动翻译器是你的完美解决方案!这…...
linux——PV操作
int semop(int semid ,struct sembuf *sops ,size_t nsops); //用户改变信号量的值。也就是使用资源还是释放资源使用权 包含头文件: include<sys/sem.h> 参数: semid : 信号量的标识码。也就是semget()的返回值 sops是一…...
基于Vivado工程的FPGA多通道以太网实时同步采集系统——AD7606八通道同步采集与UD...
基于FPGA多通道以太网实时同步采集系统 FPGA: Vivado工程 AD芯片:AD7606 传输协议:UDP 上位机开发软件:QT5.12 AD7606八通道同步采集,最高采样率200KHz,上位机发送指令开始采集,上位机通过千兆以太网udp进行数据传输 QT上位机软件:udp上位…...
整流器模型预测控制mpc仿真三相三电平npc型整流器有限集模 整流器模型预测控制mpc仿真三相...
整流器模型预测控制mpc仿真三相三电平npc型整流器有限集模整流器模型预测控制mpc仿真三相三电平npc型整流器有限集模型预测控制fcs-mps,控制目标为跟踪电流和中点电位平衡,有参考文献文章:标题:整流器模型预测控制(MPC…...

