30 lines
572 B
Go
30 lines
572 B
Go
package main
|
|
|
|
import "math"
|
|
|
|
// 69.Sqrt(x)
|
|
func mySqrt(x int) int {
|
|
var xHalf = 0.5 * float64(x)
|
|
var i = math.Float64bits(float64(x))
|
|
i = 0x1FF7A3BEA91D9B1B + (i >> 1)
|
|
var f = math.Float64frombits(i)
|
|
f = f * 0.5 + xHalf / f
|
|
f = f * 0.5 + xHalf / f
|
|
f = f * 0.5 + xHalf / f
|
|
return int(f)
|
|
}
|
|
|
|
// 268.丢失的数字
|
|
func missingNumber(nums []int) int {
|
|
x := 0
|
|
for _, num := range nums {
|
|
x ^= num
|
|
}
|
|
return []int{len(nums), 1, len(nums) + 1, 0}[len(nums)&3] ^ x
|
|
}
|
|
|
|
func main() {
|
|
println(missingNumber([]int{9, 6, 4, 2, 3, 5, 7, 0, 1}))
|
|
println("Hello world!")
|
|
}
|