当前位置: 首页 > 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.tj-hxxt.cn/news/5818.html

相关文章:

  • 门户网站建设合同跟我学seo
  • 杭州 洛阳网站建设公司 网络服务域名注册查询官网
  • 网站不备案什么意思企业营销培训课程
  • 网站开发准备流程图google官网入口手机版
  • 自己用wordpress建站域名检测查询
  • 做的网站每年都要交费吗cps推广是什么意思
  • 广州市白云区疫情最新情况seo优化网
  • 专业的河南网站建设公司免费seo公司
  • 图片演示dw做网站南宁seo外包服务商
  • 西安政府做网站百度搜索 手机
  • 昆明做网站方案百度站长工具收费吗
  • 淘客做的领券网站培训报名
  • 上海包装设计公司排行郑州网站seo公司
  • 深圳富通做网站seo做关键词怎么收费的
  • 网站如何在公安局备案十大软件免费下载网站排行榜
  • 网站建设公司优惠大酬宾活动逆冬seo
  • 网站建设的几个阶段百度保障中心人工电话
  • 网站搭建设计课程报告百度官网推广平台
  • 网站建设 软件有哪些优化新十条
  • 客户网站建设公司seo全网营销公司
  • 公司网站建设好如何制定会员营销方案
  • 营销类网站建设网络营销服务工具
  • 网站创建快捷方式专业的google推广公司
  • 网站产品类别顺序如果修改公司网站搭建
  • 南京大型行业网站建设济南最新消息
  • 什么值得买 wordpress开封网站快速排名优化
  • 怎样打开用sql做的网站百度推广怎么操作
  • 做企业网站设计无锡百度正规推广
  • 高端网页开发公司seo教程下载
  • 网站建设 蜂图网络搜索引擎优化的简写是