1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// @Title: 棒球比赛 (Baseball Game)
// @Author: 15816537946@163.com
// @Date: 2022-03-26 11:27:34
// @Runtime: 0 ms
// @Memory: 2.5 MB
func calPoints(ops []string) int {
	c := make([]int, 0)
	for i, v := range ops {
		n := len(c)
		if v == "+" {
			c = append(c, c[n-1]+c[n-2])
		} else if v == "D" {
			c = append(c, c[n-1]*2)
		} else if v == "C" {
			c = c[:n-1]
		} else {
			v1, _ := strconv.Atoi(ops[i])
			c = append(c, v1)
		}
	}
	var ret int
	for _, v := range c {
		ret += v
	}

	return ret
}