算法日常・每日刷题--<归并排序>1
912. 排序数组 - 力扣LeetCode912. 排序数组 - 给你一个整数数组 nums请你将该数组升序排列。你必须在 不使用任何内置函数 的情况下解决问题时间复杂度为 O(nlog(n))并且空间复杂度尽可能小。 示例 1输入nums [5,2,3,1]输出[1,2,3,5]解释数组排序后某些数字的位置没有改变例如2 和 3而其他数字的位置发生了改变例如1 和 5。示例 2输入nums [5,1,1,2,0,0]输出[0,0,1,1,2,5]解释请注意nums 的值不一定唯一。 提示 * 1 nums.length 5 * 104 * -5 * 104 nums[i] 5 * 104https://leetcode.cn/problems/sort-an-array/description/归并排序一、核心思想分治思想分把待排序数组不断对半拆分直到每个子序列只有1 个元素天然有序治归并将两个有序子数组合并成一个更大的有序数组递归重复最终合并得到完整有序数组。一句话总结先拆分分到最小单元再两两有序合并。[38,27,43,3,9,82,10] [38,27,43] [3,9,82,10] [38,27] [43] [3,9] [82,10] [38] [27] [3][9] [82][10][38][27] → [27,38] [27,38] [43] → [27,38,43] [3][9] → [3,9] [82][10] → [10,82] [3,9] [10,82] → [3,9,10,82] [27,38,43] [3,9,10,82] → [3,9,10,27,38,43,82]很像是二叉树的后序遍历而快排则是像二叉树的前序遍历题目描述题目要求给你一个整数数组nums请你将该数组升序排列。你必须在不使用任何内置排序函数的情况下解决问题时间复杂度要求 \(O(n\log n)\)空间复杂度尽可能小。关键合并两个有序数组合并逻辑是归并排序最重要的模块 输入两段有序区间[l, mid]、[mid1, r]开辟临时数组存放合并结果双指针分别指向两段有序区间起点比较两个指针指向元素把更小的值放入临时数组对应指针后移其中一段遍历完成后直接追加另一段剩余元素将临时有序数组覆盖回原数组对应区间。class Solution { public: vectorint temp; vectorint sortArray(vectorint nums) { int nnums.size(); temp.resize(n); mergesort(nums,0,n-1); return nums; } void mergesort(vectorint nums,int left,int right) { if(left right) return; int mid(leftright)/2; mergesort(nums,left,mid); mergesort(nums,mid1,right); int cur1left,cur2mid1,i0; while(cur1midcur2right) temp[i]nums[cur1]nums[cur2]?nums[cur1]:nums[cur2]; while(cur1mid) temp[i]nums[cur1]; while(cur2right) temp[i]nums[cur2]; for(int ileft;iright;i) { nums[i]temp[i-left]; } } };

相关新闻

ChatGPT家长通知功能技术解析:AI安全与青少年保护实践

ChatGPT家长通知功能技术解析:AI安全与青少年保护实践

最近,如果你关注AI工具的使用安全,可能会注意到一个重要的变化:OpenAI正在扩大ChatGPT的家长通知功能。这意味着当青少年用户因网络暴力等违规行为被封号时,系统将自动通知其家长。这不仅仅是简单的功能更新,而是AI工具…

2026/7/23 3:15:04阅读更多 →
计算机毕业设计之基于SpringBoot的社区老年群体智能推荐外卖点餐系统设计与实现

计算机毕业设计之基于SpringBoot的社区老年群体智能推荐外卖点餐系统设计与实现

随着“互联网”思维的成功实践,各种领域也逐渐由传统的严格按流程、靠人力的制作方式进而转向智能化生产,显著提高了工作的效率与便捷性。然而,网络时代的快速增长同样带来了“信息过载”的问题,堆积如山等,成为用户筛…

2026/7/23 3:15:04阅读更多 →
AI设计工具链实战:Figma MCP与Claude Design深度解析

AI设计工具链实战:Figma MCP与Claude Design深度解析

1. AI设计工作流全景拆解:工具链深度解析最近在设计圈里,Figma MCP、Claude Design、Codex和Google Stitch这几个工具的讨论热度持续攀升。作为一名从业十年的全栈设计师,我发现很多同行对这些工具的组合使用还存在不少困惑。今天我就来详细拆…

2026/7/23 3:15:04阅读更多 →
达梦数据库单机主备集群搭建实战指南

达梦数据库单机主备集群搭建实战指南

1. 前言达梦数据库(DM Database)作为国产数据库的代表,其高可用方案是保障业务连续性的关键。主备集群(DataWatch)是达梦数据库实现高可用的核心组件,通过实时同步数据,在主库故障时能够快速切换…

2026/7/23 4:41:15阅读更多 →
SolidWorks齿轮建模入门:从参数计算到3D建模全解析

SolidWorks齿轮建模入门:从参数计算到3D建模全解析

1. SolidWorks齿轮建模基础入门作为一名机械设计工程师,我经常遇到刚接触SolidWorks的新手对齿轮建模感到困惑。齿轮作为机械传动中最基础的零件之一,掌握其建模方法确实是每个SolidWorks使用者必备的技能。今天我就用最直白的方式,手把手教你…

2026/7/23 4:41:15阅读更多 →
紧急预警:传统CLV模型已失效!用强化学习重构客户价值评估框架(含A/B测试结果对比表)

紧急预警:传统CLV模型已失效!用强化学习重构客户价值评估框架(含A/B测试结果对比表)

更多请点击: https://codechina.net 第一章:紧急预警:传统CLV模型已失效!用强化学习重构客户价值评估框架(含A/B测试结果对比表) 当LTV/CAC比率连续三个季度跌破1.2,而留存率预测误差高达37%&a…

2026/7/23 4:41:15阅读更多 →
【限时解密】Runway内部测试版画质修复Pipeline曝光——含未发布的Temporal Consistency补偿模块

【限时解密】Runway内部测试版画质修复Pipeline曝光——含未发布的Temporal Consistency补偿模块

更多请点击: https://kaifayun.com 第一章:Runway画质修复技术全景概览 Runway ML 的画质修复(Quality Restoration)能力依托其多模态生成式AI架构,深度融合扩散模型(Diffusion Models)、超分辨…

2026/7/23 4:41:15阅读更多 →
AI代码审计工具选型避坑指南:3类致命误报率超47%的工具已被淘汰(2024最新测评)

AI代码审计工具选型避坑指南:3类致命误报率超47%的工具已被淘汰(2024最新测评)

更多请点击: https://kaifayun.com 第一章:AI代码审计工具选型避坑指南:3类致命误报率超47%的工具已被淘汰(2024最新测评) 在2024年真实生产环境的交叉审计测试中,我们对17款主流AI驱动代码审计工具进行了…

2026/7/23 4:41:15阅读更多 →
C++ std::set 深度解析:从红黑树原理到高效应用实践

C++ std::set 深度解析:从红黑树原理到高效应用实践

1. 项目概述:为什么我们需要深入理解std::set?如果你写过一段时间的C,尤其是接触过算法题或者需要处理一些需要自动排序和去重的数据,那么你大概率已经用过std::set了。它看起来很简单,无非就是一个“集合”&#xff0…

2026/7/23 4:39:15阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/23 0:56:31阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/23 0:56:31阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 0:56:31阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:00:28阅读更多 →
从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:28阅读更多 →
油泥处理设备哪里能买到

油泥处理设备哪里能买到

油泥处理设备哪里有?这是许多从事油田、炼化、清罐业务的从业者最关心的问题。根据河南三丰环保设备有限公司的行业经验,选购油泥处理设备的核心在于设备能否适配当地环保法规与原料特性,而非单纯看价格。该公司总经理王钦田先生指出&#xf…

2026/7/23 0:00:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/22 22:56:18阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/22 18:55:50阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/22 18:55:50阅读更多 →