Golang | 腾讯一面
由于腾讯的面试流程在面试官与求职者之间保持隐私,我无法提供具体的面试问题和答案。然而,我可以提供一个通用的Golang编程问题的解决方案模板,以帮助你准备面试。
问题:编写一个Golang程序,该程序接收一个整数切片并返回一个新的整数切片,其中包含原始切片的元素,但没有重复的元素。
解决方案:
package main
import (
"fmt"
)
// 删除切片中的重复元素
func RemoveDuplicates(nums []int) []int {
result := []int{}
m := make(map[int]bool)
for _, num := range nums {
if !m[num] {
m[num] = true
result = append(result, num)
}
}
return result
}
func main() {
nums := []int{1, 1, 2, 3, 4, 4, 5}
uniqueNums := RemoveDuplicates(nums)
fmt.Println(uniqueNums) // 输出: [1 2 3 4 5]
}
这个程序定义了一个RemoveDuplicates
函数,它接收一个整数切片nums
,然后创建一个新的切片result
和一个映射m
来跟踪元素。对nums
切片进行迭代,如果元素不在映射m
中,则将其添加到result
切片并更新映射m
。最后返回没有重复元素的result
切片。在main
函数中,我们创建了一个包含重复元素的切片,调用RemoveDuplicates
函数,并打印结果。
评论已关闭