news 2026/4/28 4:46:33

C语言:杨辉矩阵

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C语言:杨辉矩阵

假设一个矩阵,横纵行都处于递增趋势,如何高效找出其中的关键字key?

如图,倘若我们想找出其中的15,最简单的方法便是历遍整个矩阵,但这需要至少15次查找,显然不够高效。

这里提供另一种思路。

创建二维数组arr[i][j];i表示行,j表示列。

由于矩阵的递增特性,我们可以直接从矩阵的最右上角开始寻找,若这个数字小于key,那么可以确定,这个数字肯定不在此行,便让i++,以此类推。若这个数字小于key,那么可以确定,此key肯定在这一行,只需历遍此行即可。

根据这个思路,我们找到15仅需3步,效率大大提升,下面提供代码实现:

这里有几点需要注意:

1.行j的赋值应当是l - 1,而不是l,否则可能会导致栈溢出。

2.关于“没找到”情况的书写,可能会出现这样的错误:

else if (arr[i][j] == k)

{

printf("arr[%d][%d]\n", i, j);

break;

}

else

{

printf("没找到\n");

} } }

但这种情况在数学上不会存在,因此,当我们找到了key后,直接返回函数,随后在循环之外书写即可。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 9:32:20

ModbusRTU通信中主站超时设置的实践指南

以下是对您提供的博文《ModbusRTU通信中主站超时设置的实践指南:原理、计算与工程调优》进行 深度润色与专业重构后的终稿 。本次优化严格遵循您的全部要求: ✅ 彻底去除AI痕迹,语言自然如资深工程师现场分享 ✅ 摒弃模板化标题(如“引言”“总结”),全文以逻辑流驱动…

作者头像 李华
网站建设 2026/4/26 23:38:16

离线语音检测首选:FSMN-VAD轻量高效

离线语音检测首选:FSMN-VAD轻量高效 在语音识别、智能客服、会议转录等实际工程场景中,一个常被忽视却至关重要的前置环节是——语音端点检测(VAD)。它不负责理解内容,却决定了后续所有处理的起点是否准确&#xff1a…

作者头像 李华
网站建设 2026/4/24 8:23:00

一文说清Elasticsearch DSL查询语法的核心要点

以下是对您提供的博文内容进行 深度润色与工程化重构后的版本 。我以一位有多年ES生产调优经验的搜索架构师视角,摒弃模板化表达、强化实战洞察、消除AI腔调,将技术逻辑自然融入开发者的日常思考节奏中,并严格遵循您提出的全部优化要求(无总结段、无模块标题、结构有机流…

作者头像 李华
网站建设 2026/4/24 17:45:31

verl能否替代人工标注?主动学习部署测试

verl能否替代人工标注?主动学习部署测试 1. verl是什么:不只是一个RL框架 verl 是一个灵活、高效且可用于生产环境的强化学习(RL)训练框架,专为大型语言模型(LLMs)的后训练设计。它由字节跳动…

作者头像 李华
网站建设 2026/4/22 22:36:49

AMD如何优化x86指令集:操作指南

以下是对您提供的博文内容进行 深度润色与结构重构后的技术文章 。本次优化严格遵循您的全部要求: ✅ 彻底去除AI痕迹,语言更贴近真实工程师的思考节奏与表达习惯 ✅ 删除所有模板化标题(如“引言”“总结”等),代之以自然、有张力的技术叙事逻辑 ✅ 将五大模块有机融…

作者头像 李华
网站建设 2026/4/18 16:48:51

亲测BSHM人像抠图镜像,无需手动Trimap,实拍效果超预期

亲测BSHM人像抠图镜像,无需手动Trimap,实拍效果超预期 最近在做一批电商人像素材的背景替换工作,被传统抠图流程折磨得不轻——先用PS手动画选区,再反复调整边缘,遇到发丝、透明纱裙、毛领这些细节,一上午…

作者头像 李华