add new solutions
This commit is contained in:
parent
886b5e0a8e
commit
67cad91898
47 changed files with 1549 additions and 1 deletions
51
solutions/6/q649/solution.go
Normal file
51
solutions/6/q649/solution.go
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
package q649
|
||||
|
||||
func predictPartyVictory(senate string) string {
|
||||
n := len(senate)
|
||||
revoked := make([]bool, n)
|
||||
|
||||
rRevoke, dRevoke := 0, 0
|
||||
rRem, dRem := 0, 0
|
||||
for i := range n {
|
||||
switch senate[i] {
|
||||
case 'R':
|
||||
rRem++
|
||||
case 'D':
|
||||
dRem++
|
||||
}
|
||||
}
|
||||
|
||||
for i := 0; rRem > 0 && dRem > 0; i = (i + 1) % n {
|
||||
if revoked[i] {
|
||||
continue
|
||||
}
|
||||
|
||||
switch senate[i] {
|
||||
case 'R':
|
||||
if rRevoke > 0 {
|
||||
rRevoke--
|
||||
rRem--
|
||||
revoked[i] = true
|
||||
} else {
|
||||
dRevoke++
|
||||
}
|
||||
|
||||
case 'D':
|
||||
if dRevoke > 0 {
|
||||
dRevoke--
|
||||
dRem--
|
||||
revoked[i] = true
|
||||
} else {
|
||||
rRevoke++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if rRem == 0 {
|
||||
return "Dire"
|
||||
} else {
|
||||
return "Radiant"
|
||||
}
|
||||
}
|
||||
|
||||
var _ = predictPartyVictory
|
||||
Loading…
Add table
Add a link
Reference in a new issue