【LeetCode刷题】912. 排序数组

912. 排序数组(点击跳转LeetCode)

给你一个整数数组nums,请你将该数组升序排列。

示例 1:

输入:nums = [5,2,3,1]
输出:[1,2,3,5]

示例 2:

输入:nums = [5,1,1,2,0,0]
输出:[0,0,1,1,2,5]

题解

语言:C++
思路:归并排序

class Solution {
vector<int> tmp;
void merge_sort(vector<int>& nums , int l , int r){
int mid = l + r >> 1;
if(l >= r){
return;
}
merge_sort(nums , l , mid);
merge_sort(nums , mid + 1 , r);
int k = 0;
int i = l;
int j = mid + 1;
while(i <= mid && j <= r){
if(nums[i] <= nums[j]){
tmp[k++] = nums[i++];
}else{
tmp[k++] = nums[j++];
}
}
while(i <= mid){
tmp[k++] = nums[i++];
}
while(j <= r){
tmp[k++] = nums[j++];
}
for(i = l , j = 0 ; i <= r ; i ++ , j ++){
nums[i] = tmp[j];
}
}
public:
vector<int> sortArray(vector<int>& nums) {
tmp.resize((int)nums.size(), 0);
merge_sort(nums , 0 , nums.size()-1);
return nums;
}
};
posted @   顾北清  阅读(55)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示