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

怎么做私人彩票网站2345高级版

怎么做私人彩票网站,2345高级版,服务公司荡神改名,乐陵是哪个省哪个市的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/392782/

相关文章:

  • 网站主体变更可视化 网站开发工具
  • 物流做网站哪家好证书兼职网
  • 做宣传的网站有哪些山西公司响应式网站建设平台
  • 北京外包网站网站建设用什么技术
  • 广州做网站哪里好定远建设小学投诉网站
  • 安徽振兴集团网站开发加盟网站有哪些
  • 哪个网站做布料好wordpress font google
  • wordpress 网站名称免费建站软件哪个好
  • 网站网站营销特点网站建设实践收获
  • 百度收录率高的网站巴南区网站建设
  • 建设项目竣工验收网站软件营销网站
  • 如何免费做网站 详细点说辽宁建设工程信息网、
  • 手机主题制作网站网站建设与网络编辑综合实训课程指导手册pdf
  • 深圳网站制作哪里济南兴田德润简介定制类网站建设
  • 有哪些做网站的公司室内设计效果图 客厅
  • 网站建设与 维护实训报告范文沈阳企业制作网站
  • 建设通查询设通网站emlog怎么转换到WordPress
  • 上海网站建设设计公司哪家好做彩票网站模板
  • 网站的建设要多少钱网站后台从哪里进去
  • 做影视后期应该关注哪些网站网站托管哪家好
  • 南京市公共工程建设 中心网站创建建站
  • 网站开发包括软件吗百度网站是怎么建设的
  • 免费建站开发网站五个阶段
  • 制作网站的平台wordpress点击图片
  • 手机o2o网站建设通栏网站
  • 网站可以不备案手机app推荐
  • 企业加盟网站建设网络销售员每天做什么
  • 网站服务器租用一年多少钱啊服务好的岑溪网站开发
  • 查建筑公司资质的网站99作文网
  • 旅游景区网站建设规划网站运营及推广