面试题答案
一键面试函数签名
func addSlices(slice1, slice2 []int) []int {
length := len(slice1)
if len(slice2) < length {
length = len(slice2)
}
result := make([]int, length)
for i := 0; i < length; i++ {
result[i] = slice1[i] + slice2[i]
}
return result
}
设计思路
- 确定参数:函数接收两个
int
类型的切片slice1
和slice2
作为参数。 - 确定返回值:返回一个
int
类型的切片,该切片是两个输入切片对应位置元素相加的结果。 - 确定长度:由于返回长度较短切片对应位置相加后的结果,所以先比较两个切片的长度,取较短的长度作为循环的次数。
- 创建结果切片:根据确定的长度创建一个新的切片用于存储相加的结果。
- 遍历相加:通过循环遍历较短的长度,将两个切片对应位置的元素相加,并存储到结果切片中。
- 返回结果:最后返回结果切片。