【归并】Leetcode 排序数组

ops/2024/9/23 10:23:14/

题目讲解

912. 排序数组

在这里插入图片描述


算法讲解

在这里插入图片描述
使用归并算法排序数组,我们先在数组中寻找一个mid点,然后把数组分成了两部分,我们先排左部分,排左边部分的时候有需要将当前的子数组分成两部分,继续循环,直到当前子数组的长度为1的时候,我们直接返回,排右边部分;将排好的左右部分进行有序数组的合并,合并完成之后将子数组填充到当时一段区间中的原数组当中去

class Solution {vector<int>temp;
public:vector<int> sortArray(vector<int>& nums) {temp.resize(nums.size());Merge(nums, 0, nums.size()-1);return nums;}void Merge(vector<int>& nums, int left, int right){if(left >= right)return;//选择中间的midint mid = left + (right - left) / 2;Merge(nums, left, mid);Merge(nums, mid + 1, right);//合并两个有序数组int i = 0, cur1 = left, cur2 = mid+1;while(cur1 <= mid && cur2 <= right){temp[i++] = nums[cur1] <= nums[cur2] ? nums[cur1++] : nums[cur2++]; }//走到这里有可能两个cur指针没有遍历完成while(cur1 <= mid)temp[i++] = nums[cur1++];while(cur2 <= right)temp[i++] = nums[cur2++];//填充到原数组中  这里的left and right 是原数组中的下标for(int k = left; k <= right; k++){nums[k] = temp[k-left];}}
};

http://www.ppmy.cn/ops/13704.html

相关文章

怎样在Postgres中优化查询性能,特别是对于大数据量的表?

文章目录 引言解决方案1. 索引优化示例代码&#xff1a;创建索引2. 查询优化示例代码&#xff1a;优化查询3. 分区表示例代码&#xff1a;创建分区表4. 硬件配置和参数调整5. 定期维护 结论 引言 随着企业数据的不断增长&#xff0c;如何高效地查询和管理这些数据成为了关键任…

java实现wav的重采样

原因是之前写的TTS文件&#xff0c;需要指定采样率和单声道 但是TTS是用的Jacob调用COMsapi实现的 javaWNI10JACOB方式 SAPI底层支持的是C&#xff0c;C#【官方文档】 SpAudioFormat SetWaveFormatEx method (SAPI 5.4) | Microsoft Learn 用C实现的方式【可指定输出的WAV…

PyTorch and Stable Diffusion on FreeBSD

Stable Diffusion在图像生成领域具有广泛的应用和显著的优势。它利用深度学习和扩散模型的原理&#xff0c;能够从随机噪声中生成高质量的图像。 官网&#xff1a;GitHub - verm/freebsd-stable-diffusion: Stable Diffusion on FreeBSD with CUDA support FreeBSD下难度主要…

Go语言切片

基本介绍 Go 语言切片是对数组的抽象&#xff0c;是一种长度可变的动态数组。 基本用法 切片声明 声明一个未指定大小的数组来定义切片 var s []int或者使用 make 函数来创建切片 var slice1 []type make([]type, len)// 使用简短声明slice1 : make([]type, len)切片初始化…

NodeRed节点编辑用于边缘计算和规则引擎,能做带UI界面和业务逻辑的上位机或前端应用吗?

网站&#xff1a;hhtp://www.uiotos.net 先说结论&#xff0c;可以&#xff0c;但是需要有页面嵌套继承类似的技术&#xff0c;实现页面模块化封装&#xff0c;否则难以实现复杂应用。 相信目光敏锐的人都在关注节点编辑在自身行业的应用&#xff01; NodeRed在边缘计算做数据…

聚观早报 | 理想L6正式发布;Meta发布Llama 3

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 4月20日消息 理想L6正式发布 Meta发布Llama 3 比亚迪秦L内饰曝光 小米14 Ultra推送新版澎湃OS OPPO A3 Pro正式…

【2023】springboot通过阿里云oss进行文件单个批量文件上传下载

SpringBoot整合阿里OSS实现上传下载 目录&#x1f4bb; 前言一、介绍二、阿里云添加oss1、进入oss目录2、创建bucket3、测试上传下载4、创建AccessKey管理账号 三、依赖以及配置1、依赖2、yml3、Config类4、OSSUtil 工具类 四、controller五、测试1、测试上传2、测试删除 前言 …

【电控笔记5.7】Notch-Filter滤波器

Notch-Filter滤波器 通过阻尼比&#xff0c;限制陡峭程度 阻尼比小&#xff0c;比较陡峭&#xff0c;对周围信号干扰比较小&#xff0c;衰减度小 总结 实现&#xff1a;转换成Z转换进行伯德图验证