系列文章目录
文章目录
前言
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
描述
实现函数 int sqrt(int x).
计算并返回 x 的平方根(向下取整)
题解二:利用平方数的性质
题解思路: 利用平方数的性质
复杂度分析:
时间复杂度:O(N),每次+2的循环,为(1/2)N的时间复杂度,去掉系数,为O(N)
空间复杂度: O(1),只使用了有限常数个变量;
实现如下:
java
class Solution {
public:
/**
*
* @param x int整型
* @return int整型
*/
int sqrt(int x) {
if(x<=0) return 0; //小于等于0 返回0
int ans = 1;
int num = 1;
int i = 3;
while(num+i<=x){
num+=i;
ans ++; // 每加一个奇数,ans+1
i += 2;
}
return ans;
}
};