88. 合并两个有序数组

给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。

说明:

初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。
你可以假设 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]

官解

https://leetcode-cn.com/problems/merge-sorted-array/solution/he-bing-liang-ge-you-xu-shu-zu-by-leetcode/
第三种解法。从后往前找

func merge(nums1 []int, m int, nums2 []int, n int)  {var i, j = m -1, n - 1for k := m + n - 1; k >= 0; k-- {if j < 0 || (i >= 0 && nums1[i] > nums2[j]) {nums1[k] = nums1[i]i--} else {nums1[k] = nums2[j]j--}}
}

Me(X)


func merge(nums1 []int, m int, nums2 []int, n int)  {var i, j intnums1 = nums1[0:m]for len(nums2) != 0 && i < len(nums1) {if nums1[i] >= nums2[0] {nums1 = append(nums1[:i+1], nums1[i:]...)nums1[i] = nums2[j]// 删除nums2的第一个元素nums2 = nums2[1:]// nums向后移动两个元素} else {i++}}for len(nums2) != 0 {nums1 = append(nums1, nums2[0])nums2 = nums2[1:]}fmt.Println(nums1)
}

88. 合并两个有序数组 golang相关推荐

  1. LeetCode 88. 合并两个有序数组 golang

    88. 合并两个有序数组 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 ...

  2. LeetCode-双指针-88. 合并两个有序数组

    88. 合并两个有序数组 思路:归并排序,一长一短,肯定会有一个先放完,放完后把另一个拷贝过去即可. 为了避免覆盖所以从最后开始向前放最大的元素 class Solution {public:void ...

  3. 双指针:88. 合并两个有序数组

    题目链接 88. 合并两个有序数组 解题思路 一. 合并数组后排序,时间复杂度为O((n+m)log(n+m)) 代码: 快排详解 class Solution {public void merge( ...

  4. Java实现 LeetCode 88 合并两个有序数组

    88. 合并两个有序数组 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元 ...

  5. (数组)88. 合并两个有序数组(java)

    1.题目描述: 2.实例: 3.分析: 感觉过于简单,都不好意思发出来,但作为记录一步步走来,还是分析分析 非递减就是递增嘛 递增总没错  而且人家数组提供有方法直接用嘛 我的做法就是把第二个数组的值 ...

  6. leetcode 88. 合并两个有序数组

    88. 合并两个有序数组 class Solution {public:void merge(vector<int>& nums1, int m, vector<int> ...

  7. 88. 合并两个有序数组 JavaScript实现

    88. 合并两个有序数组 1.直接合并后排序 将nms2放到nums1的后面,然后进行排序 var merge = function(nums1, m, nums2, n) {// 将splice将n ...

  8. Leetcode-D33-数组-66. 加一88. 合并两个有序数组

    一.复习 移除元素-双指针问题,一个指针用来记录下一个扫描哪个元素:另一个指针用来记录下一个写哪里 搜索插入位置-二分法,不断与中间位置的数字比较大小值,缩小区间范围:当两侧只差一个单位时,看val是 ...

  9. LeetCode 88合并两个有序数组89格雷编码

    微信搜一搜:bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打卡群,欢迎 ...

最新文章

  1. Linux驱动:TI达芬奇系列kernel中cup类型的判断,以cpu_is_ti81xx()为例
  2. WebAssembly:面向Web的通用二进制和文本格式
  3. CVPR-2021收集
  4. 你花了多久弄明白架构设计?kafka日志清理
  5. 安卓ttf格式的字体包_苹果官网御用字体
  6. 为 Vim 编辑器开发定制插件
  7. WCF面向服务应用程序系列之一:Hello WCF
  8. linux 产生0~100内的随机数
  9. 数据框按行拼接_利用Python进行数据分析
  10. Git \Github使用文档(一)
  11. Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml
  12. python查看包的路径_获取python及三方包的版本,安装路径等信息
  13. as3数据类型检查写法(is/as/typeof/in/instanceof)用法介绍
  14. Google的语音识别API,支持各种语言
  15. 2021-11-16
  16. 利用爬虫技术清理微博“僵尸粉”
  17. win10引导安卓x86_手把手教你在电脑上安装安卓x86版+win10的双系统(只能在能用微软电脑系统的平板上安装)...
  18. vm服务器复制文件,怎么实现从宿主机拖动复制文件到虚拟机VM中的示例
  19. GO 语言学习资源整理
  20. 什么是语法糖(syntactic suger)

热门文章

  1. 用CSS让DIV上下左右居中的方法
  2. AngularJS中ui-router全攻略
  3. 【RTOS】基于V7开发板的uCOS-III,uCOS-II,RTX4,RTX5,FreeRTOS原版和带CMSIS-RTOS V2封装层版全部集齐...
  4. 异步导致UI句柄增加的解决办法
  5. 错误1083:配置成在该可执行程序中运行的这个服务不能执行该服务 【解决办法】...
  6. Azure Virtual Network, 虚拟网络
  7. Android WifiDisplay分析一:相关Service的启动
  8. NavMeshAgent 动态加载障碍物
  9. laravel里面使用event
  10. Design a high performance cache for multi-threaded environment