package q69 func mySqrt(x int) int { if x < 2 { return x } l, r := 0, x/2+1 for l < r { m := (l + r) / 2 sq := m * m switch { case sq == x: return m case sq < x: if (m+1)*(m+1) > x { return m } l = m + 1 case sq > x: r = m } } return -1 } var _ = mySqrt