目录
最小的时间和空间代价合并有序数组
题目
以最小的时间和空间代价合并如下两个数组,并且保证有序
a = [ 2, 5, 7, 9, 0, 0, 0],
b = [ 1, 3, 6],
说明:
1、a 中 0 是无效数据,0的长度与 b 的长度一致
2、a 和 b 都是有序的,从小到大
思路
为不频繁移动数组元素,由于空位/无效位置在末尾,则将逆向对比数组末尾元素,分别移动至末尾位置,且无利用额外空间。
代码
package main
import "fmt"
func main() {
a := []int{2, 5, 7, 9, 0, 0, 0}
b := []int{1, 3, 6}
fmt.Println("hello https://tool.lu/", Asc(a, b))
}
func Asc(a, b []int) []int {