Go 的面試基礎算法(一)

  • 兩個數組求交集
    • 思路,把兩個數組合併成一個數組,然後通過 hash 表找出數組中重複的元素
package main

import "fmt"

func ArrayIntersection(arr []int, arr1 []int) []int {

	var intersection []int
	arr = append(arr, arr1...)
	sameElem := make(map[int]int)

	for _, v := range arr {
		if _, ok := sameElem[v]; ok {
			intersection = append(intersection, v)
		} else {
			sameElem[v] = 1
		}
	}
	return intersection
}

func main() {

	arr1 := []int{1, 2, 3, 4, 5, 6}
	arr2 := []int{5, 6, 7, 8, 9, 0}

	fmt.Println(ArrayIntersection(arr1, arr2))
}

  • 鏈表反轉

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章