699. 掉落的方块

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
28
29
30
31
32
33
34
35
36
37
type Box struct {
Left int
Right int
Height int
}

func fallingSquares(positions [][]int) []int {
boxes := []Box{}
ans := []int{}
max := 0

for _, p := range positions {
left := p[0]
right := p[0] + p[1]
height := p[1]
bottom := 0

for _, b := range boxes {
if !(left >= b.Right || right <= b.Left) && bottom < b.Height {
bottom = b.Height
}
}

height += bottom
if height > max {
ans = append(ans, height)
max = height
} else {
ans = append(ans, max)
}

boxes = append(boxes, Box{Left: left, Right: right, Height: height})
}


return ans
}

699. 掉落的方块
https://blog.jerrylee.me/2021/09/c3604616f70c.html
作者
Jerry Lee
发布于
2021年9月20日
许可协议