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

南昌网站建设培训天津seo选天津旗舰科技a

南昌网站建设培训,天津seo选天津旗舰科技a,最好的做网站公司有哪些,有没有免费的网站服务器原题请见:LeetCode88 合并两个有序数组 1、题目描述 2、题目分析 关键点1:两个数组是非递减顺序 关键点2:nums2 合并进 nums1,意思是最好不用额外空间实现 关键点3:nums1 的长度是 (nums2长度 nums1长度…

原题请见:LeetCode88 合并两个有序数组

1、题目描述

请添加图片描述

2、题目分析

关键点1:两个数组是非递减顺序
关键点2:nums2 合并进 nums1,意思是最好不用额外空间实现
关键点3:nums1 的长度是 (nums2长度 + nums1长度

因为两数组是有序的,所以可以从两个数组的最左边(或者最右边),陆续比较哪个数组的边界元素更小(或更大)依次取出来扫到目标数组即可。
但考虑到本题目是在nums1 数组上原地排序,如果从左往右比较,会导致新元素插入nums1 的时候, nums1原来的元素需要依次右移,复杂度较高。
又考虑到 nums1 数组的右边 n 个元素都是空白的,所以从右往左比较,不会导致元素顺移问题。

3、题解

class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {// 最终目标数组的索引int idx = m + n - 1;int idx1 = m - 1;int idx2 = n - 1;// 依次取出来 nums1和nums2当前最大的,放在目标数组最右边while (idx1 >= 0 && idx2 >= 0) {if (nums1[idx1] >= nums2[idx2]) {nums1[idx--] = nums1[idx1--];} else {nums1[idx--] = nums2[idx2--];}}// 哪个数组还剩的话,说明这块整体小于另一个数组,剩下的直接陆续往左排while (idx1 >= 0) {nums1[idx--] = nums1[idx1--];}while (idx2 >= 0) {nums1[idx--] = nums2[idx2--];}}
}
http://www.dtcms.com/wzjs/263196.html

相关文章:

  • 淘宝客网站模板免费下载网站seo是干什么的
  • 如何介绍网站建设公司品牌推广服务
  • 网站制作背景图片seo快速优化软件
  • 济宁祥云网站建设网络营销品牌公司
  • python爬虫做网站seo关键词排名优化系统源码
  • 有哪些是外国人做的网站深圳百度代理
  • 天津做网站联系方式网站建设是什么工作
  • 自助建站软件博客网站注册
  • 外贸多语言网站电子制作网站
  • 世界工厂网官网下载宁波免费seo排名优化
  • 溧水区住房和城乡建设厅网站360优化大师最新版的功能
  • 县总工会网站建设情况介绍网站关键词在哪里看
  • 移动端网站推广电子商务网站推广策略
  • 网站升级中 模版快速优化网站排名软件
  • 邢台网站建设 冀icp备一站传媒seo优化
  • 最专业微网站首选公司搜索关键词排名查询
  • 网站建设公司 保证完成 网站seo优化报告
  • wordpress 应用店商广州seo服务
  • 网站制作开发策划一周热点新闻
  • 58建筑网官网seo外链平台
  • 小程序公众号网站开发nba最新排名
  • 安徽省建设工程信网站营销型网站的公司
  • 上海公安门户网站百度指数电脑版
  • wordpress小工具点seo文章
  • 宁波市节约型机关建设考试网站软文广告文案案例
  • 个人做的网站交换链接的作用
  • 辽宁建设网站站长工具seo综合查询下载
  • 单机做游戏 迅雷下载网站seo优化团队
  • 网站黑名单网站优化方案怎么写
  • 网站推广文章怎么写日本疫情最新数据