From 5303f663136bd18fd2973862264c20c589f0f94f Mon Sep 17 00:00:00 2001 From: ductnn Date: Sun, 17 Dec 2023 00:23:05 +0700 Subject: [PATCH] add sol --- .../Queue/649.Dota2Senate/dota2Senate.go | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 leetcode/leetcode75/Queue/649.Dota2Senate/dota2Senate.go diff --git a/leetcode/leetcode75/Queue/649.Dota2Senate/dota2Senate.go b/leetcode/leetcode75/Queue/649.Dota2Senate/dota2Senate.go new file mode 100644 index 0000000..38edb91 --- /dev/null +++ b/leetcode/leetcode75/Queue/649.Dota2Senate/dota2Senate.go @@ -0,0 +1,36 @@ +package main + +import ( + "fmt" +) + +func predictPartyVictory(senate string) string { + n := len(senate) + queueR := []int{} + queueD := []int{} + for i, c := range senate { + if c == 'R' { + queueR = append(queueR, i) + } else { + queueD = append(queueD, i) + } + } + for len(queueR) > 0 && len(queueD) > 0 { + r, d := queueR[0], queueD[0] + queueR, queueD = queueR[1:], queueD[1:] + if r < d { + queueR = append(queueR, r+n) + } else { + queueD = append(queueD, d+n) + } + } + if len(queueR) > 0 { + return "Radiant" + } + return "Dire" +} + +func main() { + senate := "RD" + fmt.Println(predictPartyVictory(senate)) +}