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

合肥做网站加盟做app网站的软件有哪些内容吗

合肥做网站加盟,做app网站的软件有哪些内容吗,vi设计公司[本源百纳设计,服务器怎么建网站面试经典 150 题 ---- 合并两个有序数组 合并两个有序数组方法一#xff1a;直接合并后排序方法二#xff1a;双指针方法三#xff1a;逆向双指针 合并两个有序数组 方法一#xff1a;直接合并后排序 这种方法最简单#xff0c;直接将 nums2 的数组放到 nums1 数组的尾部… 面试经典 150 题 ---- 合并两个有序数组 合并两个有序数组方法一直接合并后排序方法二双指针方法三逆向双指针 合并两个有序数组 方法一直接合并后排序 这种方法最简单直接将 nums2 的数组放到 nums1 数组的尾部然后对 nums1 进行排序即可 class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {for (int i 0; i n; i ) {nums1[i m] nums2[i];}Arrays.sort(nums1);} }时间复杂度 O((m n)log(m n)) 数组长度为 m n快排的时间复杂度为 O((m n)log(m n)) 空间复杂度 O((m n)log(m n)) 数组长度为 m n快排的时间复杂度为 O((m n)log(m n)) 方法二双指针 方法一没有使用到数组已经被排序的性质。利用这一性质我们可以使用双指针方法。将两个数组看作队列每次从数组的头部取出一个比较小的值放到结果中。 class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int p1 0, p2 0;int[] sorted new int[m n];int cur 0;while (p1 m || p2 n) {if (p1 m) {sorted[cur] nums2[p2];} else if (p2 n) {sorted[cur] nums1[p1];} else if (nums1[p1] nums2[p2]) {sorted[cur] nums1[p1];} else {sorted[cur] nums2[p2];}cur ;}for (int i 0; i m n; i ) {nums1[i] sorted[i];}} }时间复杂度 O(m n) 指针单调移动最多移动 m n 次因此时间复杂度为 O(m n) 空间复杂度 O(m n) 需要建立长度为 m n 的中间数组 方法三逆向双指针 方法二需要使用临时变量是因为直接合并到 nums1 中nums1 中的元素可能会在取出之前被覆盖。那么如何直接避免覆盖 nums1 中的元素呢可以使用双指针从后往前遍历每次取两者之中的比较大者放进 nums1 的最后面。 为什么从后往前将大的元素放入到 nums1 中就不会出现覆盖元素的情况呢 可以这样想象。如果是将 nums2 中的元素放入了 nums1 中那么此时 nums1 的元素肯定不会被覆盖如果是将 nums1 中的元素放入了 nums1 的后半部分nums1 的前半部分就肯定会出现一个空位从而保证全部元素都可以放进去且不会发生覆盖。 class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int p1 m - 1, p2 n - 1;int cur nums1.length - 1;while(p1 0 || p2 0) {if (p1 -1) {nums1[cur -- ] nums2[p2 -- ];} else if (p2 -1) {nums1[cur -- ] nums1[p1 -- ];} else if (nums1[p1] nums2[p2]) {nums1[cur -- ] nums1[p1 -- ];} else {nums1[cur -- ] nums2[p2 -- ];}}} }时间复杂度 O(m n) 指针单调移动最多移动 m n 次因此时间复杂度为 O(m n) 空间复杂度 O(m n) 直接对 nums1 原地修改不需要额外的空间
http://www.dnsts.com.cn/news/136435.html

相关文章:

  • 免费行情软件网站大全下载百度权重如何提升
  • 手机网站建设广州网页设计教程 百度网盘
  • 衡水企业网站设计报价手机网站建设联系方式
  • 江门建站公司网络游戏下载
  • 2021年免费的网站有哪些写好网页怎么建成网站
  • 盐田区住房和建设局网站网站那个做的比较好的
  • 专业做律师网站的公司吗管理是什么
  • 建网站需要了解哪些网站建设知识网页编程html
  • 沈阳网站优化排名上饶建网站公司
  • 厦门长实建设有限公司网站网站做推广应该如何来做呢哪里推广
  • wordpress网站公告网站建设需要洽谈什么
  • 专业网站设计定制昆明北京网站建设
  • 做设计拍摄的网站平台一般网站使用什么做的
  • 天猫做网站超值高端网站设计
  • 网站建设所用软件网站上传程序流程
  • 厦门网站建设哪家厦门建设银行重庆高校在线平台
  • 最简单的手机网站制作丽水网站建设哪家好
  • 济南企业建站哪家做的好wordpress外链go
  • 免费做推广的网站有哪些新网站快速排名软件
  • 网站不备案做优化公司做网站推广的价格
  • 景洪网站建设天津工程建设网官方网站
  • 网站定制开发特点单片机开发
  • 门户网站的重要性phpcms适合做什么网站
  • 做学术论文的网站国外网站的设计风格
  • 做网站注意哪些优化大师win7
  • 网站360做的标记如何取消塘下建设银行网站
  • 百度如何做网站创意wordpress主题
  • 做网站建设优化的公司旅行社建网站
  • 网站图片等比缩小什么是销售型网站
  • 商城网站不备案口碑好的番禺网站建设