博客主页:🏆看看是李XX还是李歘歘 🏆
🌺每天分享一些包括但不限于计算机基础、算法等相关的知识点🌺
💗点关注不迷路,总有一些📖知识点📖是你想要的💗
⛽️今天的内容是 Leetcode 83. 删除排序链表中的重复元素 ⛽️💻💻💻
实现 int sqrt(int x)
函数。
计算并返回 x 的平方根,其中 x 是非负整数。
由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。
示例 1:
输入: 4 输出: 2
示例 2:
输入: 8 输出: 2 说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。
暴力法:
func mySqrt(x int) int {
if x==1 || x==2 {
return 1
}
result := 0
for i := 0;i<x;i++{
if i*i>x {
result = i-1
break
}
}
return result
}
math内置函数方法:
func mySqrt(x int) int {
result := math.Sqrt(float64(x))
return int(result)
}
二分查找法:
func mySqrt(x int) int {
low := 1
high := x
for low<high {
mid := (low+high)/2
if mid == x/mid {
return mid
} else if mid > x/mid {
high = mid-1
} else {
low = mid+1
}
}
if low*low<=x {
return low
} else {
return low-1
}
}