leetcood学习笔记-88-合并两个有序数组

题目描述:

 

第一次提交:

class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
        """
        Do not return anything, modify nums1 in-place instead.
        """
        for i in range(n):
            nums1.remove(nums1[-1])
        for i in range(n):
            nums1.append(nums2[i])
            
            
        nums1.sort()

 方法二:

class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
        """
        Do not return anything, modify nums1 in-place instead.
        """
        for i in range(m+n-1,-1,-1):
            if m>0 and n>0:
                if nums1[m-1]>nums2[n-1]:
                    nums1[i] = nums1[m-1]
                    m = m-1
                else:
                    nums1[i] = nums2[n-1]
                    n = n-1
            
        if n>0:
            nums1[:n] = nums2[:n]

 

python sort函数和sorted函数区别:

Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列

一,最简单的排序

1.使用sort排序

my_list = [3, 5, 1, 4, 2]
my_list.sort()
print my_list

#输出: [1, 2, 3, 4, 5]

 

使用sort()方法对list排序会修改list本身,不会返回新list,通常此方法不如sorted()方便,但是如果你不需要保留原来的list,此方法将更有效sort()。

sort()不能对dict字典进行排序

2.使用sorted()排序

my_list = [3, 5, 1, 4, 2]
result = sorted(my_list)
print result

#输出: [1, 2, 3, 4, 5]
posted @ 2019-03-13 19:56  oldby  阅读(109)  评论(0编辑  收藏  举报