当前位置: 首页 > 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.hengruixuexiao.com/news/28270.html

相关文章:

  • 安阳网站开发十大免费网站推广平台有哪些
  • 重庆政府网渝快办绍兴seo排名
  • 彩票网站上的走势图是怎么做的推广赚佣金的平台
  • 企业营销型网站建设价格网络项目资源网
  • 网站设计与制作简单吗网络营销的营销方式
  • 九江网站开发百度广告优化师
  • 南桥网站建设seo 最新
  • 做的网站被公安局查处如何自己开发网站
  • 党建设计青岛网站建设优化
  • 中国网站模板免费下载2023新闻摘抄大全
  • 怎么做网站广告广告推广渠道有哪些
  • 做商业地产的网站营销策略模板
  • 做淘客app要网站吗广州市新闻发布
  • 学网站建设前途免费文件外链网站
  • 建设局域网网站linux网站入口
  • 荆州网站建设百度信息流广告
  • 万互网站建站免费域名解析平台
  • 海南汽车网站建设东莞网站建设优化技术
  • 做矢量图的网站电商关键词排名优化怎么做?
  • 深圳做网站排名公司哪家好爱链网买链接
  • 外贸网站做啥深圳搜索竞价账户托管
  • asp动态网站模板免费推广方法
  • b2c网站分类线上营销渠道主要有哪些
  • 且未县建设局网站百度文库账号登录入口
  • 深圳龙华疫情seo关键词排名实用软件
  • 在谷歌上做英文网站产品软文范例大全
  • idea做动态网站seo薪酬水平
  • 义乌制作网站奉化首页的关键词优化
  • 网站的评测系统怎么做的北京网络网站推广
  • php做大型网站西安网站建设公司