add new solutions
This commit is contained in:
parent
9a10695e8c
commit
ca24d0a56a
30 changed files with 697 additions and 16 deletions
11
solutions/3/q338/solution.go
Normal file
11
solutions/3/q338/solution.go
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
package q338
|
||||
|
||||
func countBits(n int) []int {
|
||||
ret := make([]int, n+1)
|
||||
for i := 1; i <= n; i++ {
|
||||
ret[i] = ret[i>>1] + i%2
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
var _ = countBits
|
||||
31
solutions/3/q345/solution.go
Normal file
31
solutions/3/q345/solution.go
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
package q345
|
||||
|
||||
func isVowel(b byte) bool {
|
||||
switch b {
|
||||
case 'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U':
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func reverseVowels(s string) string {
|
||||
edit := []byte(s)
|
||||
|
||||
l, r := 0, len(edit)-1
|
||||
for l < r {
|
||||
for l < r && !isVowel(edit[l]) {
|
||||
l++
|
||||
}
|
||||
for l < r && !isVowel(edit[r]) {
|
||||
r--
|
||||
}
|
||||
if l < r {
|
||||
edit[l], edit[r] = edit[r], edit[l]
|
||||
l++
|
||||
r--
|
||||
}
|
||||
}
|
||||
return string(edit)
|
||||
}
|
||||
|
||||
var _ = reverseVowels
|
||||
22
solutions/3/q374/solution.go
Normal file
22
solutions/3/q374/solution.go
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
package q374
|
||||
|
||||
func guess(num int) int { panic("stub") }
|
||||
|
||||
func guessNumber(n int) int {
|
||||
l, r := 1, n+1
|
||||
|
||||
for l < r {
|
||||
m := (l + r) / 2
|
||||
switch guess(m) {
|
||||
case -1: // too high
|
||||
r = m
|
||||
case 1: // too low
|
||||
l = m + 1
|
||||
case 0:
|
||||
return m
|
||||
}
|
||||
}
|
||||
return -1
|
||||
}
|
||||
|
||||
var _ = guessNumber
|
||||
Loading…
Add table
Add a link
Reference in a new issue