news 2026/8/22 0:12:50

12.17 - 合并两个有序数组 include<> 和 include““ 的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
12.17 - 合并两个有序数组 include<> 和 include““ 的区别

目录

1.合并两个有序数组

a.核心思想

b.思路

c.步骤

2.include<> 和 include"" 的区别

a.#include<文件名>

b.#include"文件名"


1.合并两个有序数组

88. 合并两个有序数组 - 力扣(LeetCode)https://leetcode.cn/problems/merge-sorted-array/

class Solution { public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int i = m - 1; int j = n - 1; int k = m + n - 1; while (i >= 0 && j >= 0) { if (nums1[i] >= nums2[j]) { nums1[k--] = nums1[i--]; } else { nums1[k--] = nums2[j--]; } } while (j >= 0) { nums1[k--] = nums2[j--]; } } };

a.核心思想

利用双指针法,将两个非递减顺序排列的有序数组合并到一个数组中,保持非递减顺序。

b.思路

由于nums1有足够的空间来存储合并后的数组(初始长度为m + n,后n个元素为0可以忽略),我们可以从两个数组的末尾开始比较元素,将较大的元素放到nums1的合适位置。

c.步骤

① 初始化三个指针:i指向nums1的有效元素末尾(即m - 1),j指向nums2的末尾(即n - 1),k指向nums1的总长度末尾(即m + n - 1)。

② 比较nums1[i]nums2[j]的大小,将较大的元素放到nums1[k]的位置,然后移动相应的指针。

③ 重复步骤 2,直到其中一个数组的元素全部合并。

④ 如果nums2中还有剩余元素,将其直接复制到nums1的前面。

2.include<> 和 include"" 的区别

核心区别:搜索路径优先级不同,导致使用场景和潜在风险差异。

a.#include<文件名>

  • 搜索路径:直接从系统标准库路径查找(如/usr/include)。
  • 适用场景:标准库或第三方库头文件(如<iostream>)。
  • 特点:编译效率高,路径固定。

b.#include"文件名"

  • 搜索路径:优先在项目当前目录/源文件所在目录查找,未找到则转系统路径。
  • 适用场景:项目自定义头文件(如"myheader.h")。
  • 特点:符合项目结构,但可能因路径冲突覆盖系统头文件。

希望这些内容对大家有所帮助!

感谢大家的三连支持!

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

19、量子计算在机器学习与电路优化中的应用

量子计算在机器学习与电路优化中的应用 1. 排队论模型在量子电路中的应用 在某些场景下,会使用利特尔法则(Little’s law)再次计算整个网络的时间,得出 $\overline{T} = \frac{K}{\lambda} = 3.33$ 。这一理论下限为 3,证实了在乘法器的情况下,实际获得的 5 层 SWAP 电…

作者头像 李华
网站建设 2026/8/20 18:35:54

EmotiVoice支持哪些语言和语调?全面功能特性一览

EmotiVoice 支持哪些语言和语调&#xff1f;功能特性深度解析 在虚拟主播直播中突然“情绪上头”&#xff0c;游戏角色因剧情转折而声音颤抖&#xff0c;或是你的语音助手用带着笑意的语气说“早安”——这些曾属于科幻场景的细节&#xff0c;正随着新一代语音合成技术的突破逐…

作者头像 李华
网站建设 2026/8/21 15:44:20

Qt实现多语言原理和实践详解

目录 1.简介 2.QTranslator说明 3.语言文件制作 3.1.前置条件 3.2.完整制作流程 4.多语言示例 5.关键注意事项 5.1.tr()的正确使用 5.2.将 .qm 嵌入资源文件&#xff08;避免外置&#xff09; 5.3.翻译 Qt 内置控件文本&#xff08;如 QMessageBox&#xff09; 5.4.…

作者头像 李华
网站建设 2026/8/19 18:53:14

基于Python的外卖配送分析与可视化系统的设计与实现_35k9z86f--论文

文章目录系统截图项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;系统截图 基于Python的外卖配送分析与可视化系统的设计与实现_35k9z86f–论文 项目简介…

作者头像 李华
网站建设 2026/8/20 23:17:42

2、探索 Linux API 与 Kylix 开发的奥秘

探索 Linux API 与 Kylix 开发的奥秘 1. Linux 简介与发展历程 Linux 是一款强大的操作系统,它的起源颇具传奇色彩。1991 年 10 月,年轻的大学生 Linus Torvalds 在 comp.os.minux 新闻组发布消息,称自己正在为 386(486) AT 克隆机开发一个免费的操作系统,当时这只是他的…

作者头像 李华
网站建设 2026/8/21 11:55:11

基于EmotiVoice的高表现力语音合成实战指南

基于EmotiVoice的高表现力语音合成实战指南 在智能语音内容爆炸式增长的今天&#xff0c;用户早已不再满足于“能说话”的机器。无论是短视频中的情绪化旁白、游戏里富有张力的NPC对话&#xff0c;还是虚拟主播实时互动时的语气起伏&#xff0c;大家期待的是有情感、有个性、像…

作者头像 李华