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;
    }
};
相关推荐
深邃-1 小时前
【数据结构与算法】-二叉树(2):实现顺序结构二叉树(堆的实现),向上调整算法,向下调整算法,堆排序,TOP-K问题
数据结构·算法·二叉树·排序算法·堆排序··top-k
叼烟扛炮8 小时前
C++第二讲:类和对象(上)
数据结构·c++·算法·类和对象·struct·实例化
MegaDataFlowers12 小时前
206.反转链表
数据结构·链表
CN-Dust13 小时前
【C++】while语句例题专题
数据结构·c++·算法
xieliyu.15 小时前
Java手搓数据结构:从零模拟实现无头双向非循环链表
java·数据结构·链表
如何原谅奋力过但无声16 小时前
【灵神高频面试题合集01-03】相向双指针、滑动窗口
数据结构·python·算法·leetcode
jieyucx17 小时前
Go 数据结构入门:线性表、顺序表、链表
数据结构·链表·golang
阿维的博客日记18 小时前
zset为什么要用到skiplist+Dict的数据结构
数据结构·skiplist
编程之升级打怪19 小时前
KMP查询算法的匹配串的前缀后缀相同的最大长度
数据结构
没文化的阿浩21 小时前
【数据结构】排序(2)——直接选择排序、堆排序
数据结构·算法·排序算法