[leetcode]#88. Merge Sorted Array
来源:互联网 发布:淘宝花呗开通条件 编辑:程序博客网 时间:2024/05/22 12:05
- 题目翻译
给定两个有序整数数组nums1和nums2,将nums2合并到nums1中得到一个有序数组。
注意:假定nums1有足够的空间(其大小大于等于m+n)来存放nums2的元素。nums1和nums2初始时分别有m和n个元素。 - 既然要合并到nums1中,则从合并后nums1的尾部元素开始,依次向前确定每个元素的值应该是多少。程序需要用到三个指针。
- 不返回任何值,只需要将原本的nums1变成新的就可以了,假设原来的nums1大小够存放,此方法需要三个指针
class Solution(object): def merge(self, nums1, m, nums2, n): """ :type nums1: List[int] :type m: int :type nums2: List[int] :type n: int :rtype: void Do not return anything, modify nums1 in-place instead. """ p, q, k = m-1, n-1, m+n-1 while p >= 0 and q >= 0: if nums1[p] > nums2[q]: nums1[k] = nums1[p] p, k = p-1, k-1 else: nums1[k] = nums2[q] q, k = q-1, k-1 nums1[:q+1] = nums2[:q+1]
- 用一个小小的trick,只用两个指针即可。
class Solution(object): def merge(self, nums1, m, nums2, n): """ :type nums1: List[int] :type m: int :type nums2: List[int] :type n: int :rtype: void Do not return anything, modify nums1 in-place instead. """ p, q = m-1, n-1 while p >= 0 and q >= 0: if nums1[p] > nums2[q]: nums1[p+q+1] = nums1[p] p = p-1 else: nums1[p+q+1] = nums2[q] q = q-1 nums1[:q+1] = nums2[:q+1]
阅读全文
0 0
- LeetCode 88. Merge Sorted Array
- [LeetCode]88.Merge Sorted Array
- [Leetcode] 88. Merge Sorted Array
- LeetCode --- 88. Merge Sorted Array
- [leetcode] 88.Merge Sorted Array
- [leetcode] 88. Merge Sorted Array
- 88. Merge Sorted Array LeetCode
- 【LeetCode】88. Merge Sorted Array
- LeetCode *** 88. Merge Sorted Array
- LeetCode 88. Merge Sorted Array
- leetcode 88. Merge Sorted Array
- LeetCode 88. Merge Sorted Array
- leetcode-88. Merge Sorted Array
- leetcode 88. Merge Sorted Array
- Leetcode - 88. Merge Sorted Array
- LeetCode 88. Merge Sorted Array
- LeetCode-88.Merge Sorted Array
- Leetcode 88. Merge Sorted Array
- SSD算法的安装步骤和问题
- 一致性HASH算法和取余算法详解
- CoordinatorLayout用法
- Leetcode 66. plus one
- 对摩尔定律的思考
- [leetcode]#88. Merge Sorted Array
- pygame入门小游戏(外星人入侵(5))
- 动态创建二维数组的两种方法
- 常用HTML标签元素
- AJAX技术和Jquery的AJAX请求
- django的配置
- 仿购物车一级列表
- 输入n个正整数,以-1为结束标志,输入0到9出现的次数.
- java int 和Integer的区别以及程序运行结果