当前位置: 首页 > news >正文

网站怎么在工信部备案信息查询wordpress发布网站

网站怎么在工信部备案信息查询,wordpress发布网站,吉林省绥中县城乡建设局网站,网店运营心得体会系列专栏 双指针 模拟算法 分治思想 目录 1、题目链接 2、题目介绍 3、解法 解决方案选择 解题步骤 4、代码 1、题目链接 912. 排序数组 - 力扣(LeetCode) 2、题目介绍 给你一个整数数组 nums,请你将该数组升序排列。 你必须在 …

系列专栏

双指针

模拟算法

分治思想


 

目录

1、题目链接

2、题目介绍

3、解法

解决方案选择

解题步骤

4、代码


1、题目链接

912. 排序数组 - 力扣(LeetCode)

2、题目介绍

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

你必须在 不使用任何内置函数 的情况下解决问题,时间复杂度为 O(nlog(n)),并且空间复杂度尽可能小。

示例 1:

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

示例 2:

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

提示:

  • 1 <= nums.length <= 5 * 104
  • -5 * 104 <= nums[i] <= 5 * 104

3、解法

解决方案选择

为了满足时间复杂度的要求,我们选择使用归并排序(Merge Sort)算法。归并排序是一种分而治之的算法,它将数组分成两半,递归地对它们进行排序,然后将结果合并成一个有序数组。这个过程的时间复杂度为 O(nlog(n)),因为它将问题分解成更小的子问题,直到子问题的大小为1(即已经排序),然后将它们合并起来。

解题步骤

  1. 定义辅助函数
    • merge 函数:负责将两个已排序的子数组合并成一个有序数组。它使用了一个临时数组 tmp 来存储合并过程中的元素,以避免在原始数组上进行复杂的元素移动。
    • mergeSort 函数:递归地将数组分成更小的部分,直到每个部分只包含一个元素(自然是有序的),然后调用 merge 函数将它们合并成有序数组。
  2. 归并排序过程
    • 拆分:通过递归调用 mergeSort,将数组不断拆分成更小的部分,直到每个部分只包含一个元素。
    • 合并:在递归返回的过程中,使用 merge 函数将相邻的两个已排序的子数组合并成一个有序数组。
  3. 空间复杂度
    • 归并排序的空间复杂度主要由临时数组 tmp 决定,其大小为 nums.size(),因此空间复杂度为 O(n)。
  4. 时间复杂度
    • 归并排序的时间复杂度为 O(nlog(n)),这主要是由于每次递归调用都将问题规模减半,并且合并操作的时间复杂度为 O(n)。

4、代码


class Solution {
public://归并排序//void merge(vector<int>& nums, vector<int>& tmp, int left, int mid, int right){int lsort = left, rsort = mid + 1;//两个需要进行合并区域的第一个元素下标int cur = left;//遍历tmp数组的计数器while (lsort <= mid && rsort <= right){if (nums[lsort] <= nums[rsort]){tmp[cur++] = nums[lsort++];}else {tmp[cur++] = nums[rsort++];}}//如果有剩余的数,没有参与比较,直接插入到tmp中while (lsort <= mid){tmp[cur++] = nums[lsort++];}while (rsort <= right)tmp[cur++] = nums[rsort++];while (left <= right){nums[left] = tmp[left];left++;}}//先拆分,再合并void mergeSort(vector<int>& nums, vector<int>& tmp, int left, int right){if (left < right){int mid = (right + left) / 2;mergeSort(nums, tmp, left, mid);mergeSort(nums, tmp, mid + 1, right);merge(nums, tmp, left, mid, right);}}vector<int> sortArray(vector<int>& nums) {vector<int> tmp(nums.size());mergeSort(nums, tmp, 0, nums.size() - 1);return nums;}
};

💗感谢阅读!💗

http://www.yayakq.cn/news/351845/

相关文章:

  • 建设部网站信息系统滕州做网站哪家好
  • 渭南做网站价格龙岩网站建设馨烨
  • 廉溪区建设局网站网络工程师可能自学吗
  • 南京微信网站开发网站建设与管理课程代码
  • 网站建设如何导入音乐自己做的网站 怎么在网上销售
  • 招远做网站价格wordpress自媒体主题
  • 郑州网站推广效果想做个网站
  • 重庆互联网网站建设WordPress与阿里云对象存储
  • 流量比对网站长沙百度关键词优化
  • 网站建设制作价格低分类信息网站建设前就应该进行网站推广工作
  • 小型企业网站建设报告模拟组建过程深圳出名网站建设公司
  • 互联网门户网站模板网站模板制作步骤
  • 有哪些网站可以做任务返现网站开发用技术
  • wordpress自己添加menu广州做网站优化
  • 网站建设与维护需要ai素材免费下载网站
  • 68Design一样设计网站电子个人简历手机版免费
  • 怎样建设一个网站教学wordpress怎么都是英文
  • 中国建设银行官网站e路护航下载响应式app网站模板
  • 漂亮的html单页seo研究中心论坛
  • 网站设计费用多少钱磁力猫搜索引擎入口官网
  • 广州天河建网站wordpress 支持 标签
  • 在线网页代理太太猫优化设计三年级上册语文答案
  • 电商网站设计公司只选亿企邦网络推广培训班哪家好
  • 基于html5的电商网站开发最超值的郑州网站建设
  • 基于c 的视频网站开发直播营销的优势有哪些
  • 兰州网站在哪备案合购WordPress
  • 找方案的网站wordpress代码修改用户权限
  • 在线设计网站哪个好用angularjs做的网站
  • 北京住房与城乡建设部网站怎么制作软件程序
  • 宣传网页制作外贸seo软件