news 2026/6/9 17:02:55

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/6/9 1:21:46

基于微信小程序的校园食堂点餐系统【源码文末联系】

基于微信小程序的校园食堂点餐系统 两个角色&#xff08;管理员&#xff0c;用户&#xff09; 效果如下&#xff1a; 登陆页面用户首页面菜品信息页面购物车页面管理员首页面用户管理页面菜品信息管理页面优惠券页面研究背景 在数字化校园建设加速推进的当下&#xff0c;校园食…

作者头像 李华
网站建设 2026/6/9 17:28:07

EmotiVoice如何实现温柔、坚定等多种语气切换?

EmotiVoice如何实现温柔、坚定等多种语气切换&#xff1f; 在虚拟主播的直播中&#xff0c;一句“我相信你一定能做到”&#xff0c;如果用冷淡机械的声音说出&#xff0c;可能毫无感染力&#xff1b;而若以温柔且坚定的语调娓娓道来&#xff0c;则能瞬间拉近与观众的情感距离。…

作者头像 李华
网站建设 2026/6/9 17:27:02

9、铃木堆栈电路侧信道泄漏与量子电路分解研究

铃木堆栈电路侧信道泄漏与量子电路分解研究 1. 铃木堆栈电路侧信道泄漏威胁模型 1.1 偏置电流变化分析 通过分析单个铃木堆栈单元的偏置电流 $I_b$ 波形,发现偏置电流会根据输入信号变化。当输入逻辑‘0’时,偏置电流近似为 $I_{b1} = \frac{V_b}{R_b}$;当输入逻辑‘1’时…

作者头像 李华
网站建设 2026/6/3 16:41:27

Kotaemon支持Faiss/Weaviate/Pinecone多种向量库

Kotaemon 支持 Faiss/Weaviate/Pinecone 多种向量库 在构建智能问答系统时&#xff0c;一个常见的挑战是&#xff1a;如何让大模型“知道”它本不该知道的知识&#xff1f;比如企业内部的制度文档、产品手册或客服 FAQ。直接微调模型成本高、更新慢&#xff0c;而检索增强生成&…

作者头像 李华
网站建设 2026/6/9 4:34:57

《Java数据结构与算法》第四篇(二)二叉树的性质、定义与链式存储实现

二叉树的性质、定义与链式存储实现前言&#xff1a;今天我们来深入学习数据结构中的重要概念——二叉树。作为树形结构中最基础也是最重要的类型&#xff0c;二叉树在计算机科学中有着广泛的应用。本文将从基本概念出发&#xff0c;重点讲解二叉树的链式存储实现。一、什么是二…

作者头像 李华
网站建设 2026/6/6 8:43:43

在排序数组中查找元素的第一个和最后一个位置

题目描述给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target&#xff0c;返回 [-1, -1]。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。解题思路&#…

作者头像 李华