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

萝岗免费网站建设新网站怎么做网络推广

萝岗免费网站建设,新网站怎么做网络推广,网站空间配置,阐述网站建设的步骤过程LeetCode 88. 合并两个有序数组 题目描述 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 的大小等于 m n(即…

LeetCode 88. 合并两个有序数组

题目描述

给你两个有序整数数组 nums1nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。

说明:

  • 初始化 nums1nums2 的元素数量分别为 mn
  • 你可以假设 nums1 的大小等于 m + n(即它有足够的空间存放 nums2 中的元素)。

示例:

输入:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6],       n = 3
输出: [1,2,2,3,5,6]

Java 实现解法

方法一:双指针从后向前合并
class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int p1 = m - 1; // nums1的当前索引int p2 = n - 1; // nums2的当前索引int p = m + n - 1; // nums1的末尾索引while (p1 >= 0 && p2 >= 0) {if (nums1[p1] > nums2[p2]) {nums1[p--] = nums1[p1--];} else {nums1[p--] = nums2[p2--];}}// 如果nums2还有剩余,直接拷贝到nums1前面while (p2 >= 0) {nums1[p--] = nums2[p2--];}}
}

解题思路

  • 双指针从后向前合并:由于题目要求将 nums2 合并到 nums1 中,并且 nums1 的空间足够大,因此我们可以使用双指针法从后向前合并这两个数组。这样做的好处是可以避免在合并过程中对 nums1 的覆盖,从而丢失尚未处理的数据。
  • 在合并过程中,我们比较 nums1nums2 的当前元素,将较大的元素放入 nums1 的末尾,并更新指针和末尾索引 p
  • 如果 nums2 中还有剩余元素,说明 nums1 中的元素已经全部处理完毕,此时我们可以直接将 nums2 的剩余元素拷贝到 nums1 的前面。

这种方法的时间复杂度是 O(m+n),其中 mn 分别是 nums1nums2 的长度,因为每个元素我们至多处理一次。空间复杂度是 O(1),因为我们是在原地修改 nums1

注:来源leetcode网站

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

相关文章:

  • 做网站的代码有哪些湖南养老院中企动力网站建设
  • 大学路网站建设wordpress配置ip访问不了
  • 网站建设优劣的评价标准网页设计用dw哪个版本好
  • 公司网站无法收录wordpress 筛选文章
  • 百度论坛首页大型网站和小企业站优化思路
  • 企业怎样建立自己的网站免费在线响应式网站自助建站
  • 建设精品课程网站的意义wordpress播放本地mp3
  • 有哪些网站建设的方法路边社 wordpress
  • 如何做论坛网站网站怎么做留言的
  • 合肥做网站优化公司信息系统管理工程师
  • 怎样做公司的网站河北涿州市网站建设
  • 婚纱网站排行开发一套微商城多少钱
  • 长沙开发网站工业设计属于什么大类
  • 长春个人做网站犀牛云做网站费用
  • 大港油田建设官方网站企业网站设计需要多久
  • 网上建立网站怎么申请自己的网站网址
  • 三台建设局网站滕州网站建设公司
  • 怎样制作网站?成都租车公司网站
  • 陕西省交通建设集团公司西商分公司网站银川市建设工程质量监督站网站
  • 动画制作器上海seo网络优化
  • 婚礼设计方案网站icp网站
  • 做网站赤峰手机网站建设需求文档
  • 福州企业网站推广左28cm
  • 做什么网站比较受欢迎大型网站建设公司沈阳
  • 网站建设工作室wp主题模板免费装wordpress
  • 网站建设需求文案案例wordpress连接微信订阅号
  • 网站设计方案和技巧昆明做网站找启搜网络
  • wordpress 主题搜索框seo引擎优化怎么做
  • 商洛建设网站采购系统
  • 个人建什么网站最赚钱cps推广是什么意思