NC 求平方根

系列文章目录


文章目录


前言

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。


描述

实现函数 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;
    }
};
相关推荐
AI科技星14 小时前
观察者与宇宙:描述如何创造物理实在
数据结构·人工智能·算法·机器学习·重构
zore_c14 小时前
【C语言】数据结构——顺序表超详解!!!(包含顺序表的实现)
c语言·开发语言·数据结构·c++·经验分享·笔记·线性回归
发疯幼稚鬼14 小时前
简单介绍二项队列及其实现
c语言·数据结构·算法
子一!!14 小时前
并查集(Union-Find)数据结构
java·数据结构·算法
2401_8414956414 小时前
【LeetCode刷题】轮转数组
数据结构·python·算法·leetcode·数组·双指针·轮转数组
im_AMBER1 天前
Leetcode 74 K 和数对的最大数目
数据结构·笔记·学习·算法·leetcode
长安er1 天前
LeetCode 206/92/25 链表翻转问题-“盒子-标签-纸条模型”
java·数据结构·算法·leetcode·链表·链表翻转
lxh01131 天前
最长递增子序列
前端·数据结构·算法
菜鸟233号1 天前
力扣513 找树左下角的值 java实现
java·数据结构·算法·leetcode
FMRbpm1 天前
队列练习--------最近的请求次数(LeetCode 933)
数据结构·c++·leetcode·新手入门