数据结构与算法之美---数组专项

42 阅读1分钟

1.两数之和

func TwoSum(nums []int, target int) []int {  
    resMap := make(map[int]int)  
    for i, v := range nums {  
    if index, ok := resMap[v]; ok {  
        return []int{index, i}  
    } else {  
        resMap[target-v] = i  
    }  
  
}  
return nil  
}

2.最大面积

func MaxArea(height [9]int) int {

	max, start, end := 0, 0, len(height)-1
	for start < end {
		width := end - start
		high := 0
		if height[start] < height[end] {
			high = height[start]
			start++
		} else {
			high = height[end]
			end--
		}
		area := width * high
		if area > max {
			max = area
		}
	}
	return max

}