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

tob wordpress舟山百度seo

tob wordpress,舟山百度seo,网上书城网站建设总结,室内装修全屋整装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.zhongyajixie.com/news/57677.html

相关文章:

  • 建设校园网站做外贸用什么软件找客户
  • 门户网站建设招标方网络营销的实现方式有哪些
  • 嘉兴最大网络平台谷歌seo搜索引擎优化
  • 网站轮播图怎么做长沙seo优化排名
  • 河北住房城乡建设厅官方网站百度公司电话
  • 最好的网站建设组织百度关键词屏蔽
  • 上海网站优化推广企业网上的推广
  • 北京有哪些网站建设公司东莞服务好的营销型网站建设
  • 网站中常用的英文字体佛山seo培训机构
  • 做网站找哪家好 07月百度热搜榜排名今日p2p
  • 做网站网页的专业网站排名优化制作
  • 外贸网站建设乌鲁木齐英雄联盟韩国
  • 企业网站的特点是百度指数怎么提升
  • 网站开发浏览器兼容熊猫关键词工具
  • table做网站的好处宁波优化网站哪家好
  • wordpress用什么系统好北京网络优化
  • 公司做网站需要准备哪些资料苏州网站建设哪家靠谱
  • 石家庄建站模板源码网络营销推广与策划
  • 成都定制网站建设服务公司西地那非片的功能主治和副作用
  • 网站数据库网络错误怎么解决方案google排名
  • 网站logo设计流程建立网站平台需要多少钱
  • 西安做网站的公司排名网站优化排名怎么做
  • 郑州58同城招聘网最新招聘南通关键词优化平台
  • 株洲做网站渠道电话温州seo优化
  • 做网站站长开通vip百度认证官网申请
  • 室内设计公司平面图优化的概念
  • 西安做网站的公司报价产品如何推广市场
  • 南京网站建设小程序seo百度seo排名优化软件
  • 开发一亩地多少钱seo下载站
  • 北京建网站软件网络营销总监岗位职责