非递减顺序:
意思是关键字递增序排列,但是并非单调递增(因为有重复的关键字)从小到大或者允许中间有相等。
1,2,3,4,5:递增排列,
9,8,7,6,5:递减排列。
1,2,3,3,4,5,8,8:非递减排列,
9,8,7,7,6,5,5,2,1 : 非递增排列。
法一:先合并在排序
解题思路:
用copy内建函数将nums2加到nums1数组后面,之后再用sort内建函数对nums1数组进行排序
tips:
1.go语言函数名称的大小写是有区别的 ,函数首字母大写表示函数可导出,允许被其它包调用。sort是另一个包,在main包调sort包的函数,函数肯定是需要可导出的才行
2.下划线_意思是忽略这个变量。
3.下划线_占位符,意思是那个位置本应赋给某个值,但是咱们不需要这个值。
func merge(nums1 []int, m int, nums2 []int, _ int) {
copy(nums1[m:],nums2)
sort.Ints(nums1)
}
时间复杂度:O((m+n)log(m+n))
空间复杂度:O(log(m+n))