第三十二天 Merge Sorted Array
2018-09-23 本文已影响4人
业余马拉松选手
合并两个有序数组
https://leetcode-cn.com/problems/merge-sorted-array/description/
非常典型的“归并”排序的思路,当然归并要从尾巴开始,因为是要把nums2归并到nums1里面,所以要特别考虑一下归并到当nums1没有数据的情况,其实就是把nums2的数据都贴进去
对于python的那种“神奇”的三元计算符还是不太会,就干脆写了一个if/else了
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.
"""
index = m + n -1
i = m-1
j = n-1
while j>=0:
if i<0:
nums1[index] = nums2[j]
j -= 1
else:
if nums1[i] > nums2[j]:
nums1[index] = nums1[i]
i-=1
else:
nums1[index] = nums2[j]
j-=1
index -= 1
代码不够pythonic,嗯,😅