LeetCode第69题x 的平方根

继续打卡算法题,今天学习的是LeetCode第69题x的平方根 ,这道题目是道简单题。算法题的一些解题思路和技巧真的非常巧妙,每天看一看算法题和解题思路,我相信对我们的编码思维和编码能力有一些提升。

分析一波题目

本题要求算术平方根,如果我们使用暴力办法,可以从1到2/x,不断的求平方根,这样时间复杂度是2/x。

我们可以使用二分的思想,不断的找一个这样的数,满足k^2≤x, 并且k取最大值。这样都不需要查找x/2次了,时间复杂度降低为O(logx)

本题解题思路

1、二分思想,降低解题时间复杂度

编码解决

java 复制代码
class Solution {
    public int mySqrt(int x) {
        int l = 0, r = x, ans = -1;
        while (l <= r) {
            int mid = l + (r - l) / 2;
            if ((long) mid * mid <= x) {
                ans = mid;
                l = mid + 1;
            } else {
                r = mid - 1;
            }
        }
        return ans;
    }
}

总结

1、二分思想是比较常见的解题思路,这个简单题目可以了解到二分思想的作用

相关推荐
数智工坊几秒前
周志华《Machine Learning》学习笔记--第六章--支持向量机
笔记·神经网络·学习·算法·机器学习·支持向量机
casual~2 分钟前
【学习记录】
学习·算法
社交怪人5 分钟前
【奇偶ASCII值】信息学奥赛一本通C语言解法(题号1042)
算法
牛油果子哥q6 分钟前
【C++指针与引用】C++指针与引用底层彻底精讲:本质区别、易错深坑、底层内存模型、工程选型、笔试面试满分解析
c++·面试
我登哥MVP11 分钟前
Spring Boo从“会用”到“精通”:Spring Boot 入门
java·spring boot·后端·spring·maven·intellij-idea·mybatis
无风听海14 分钟前
深入解析 ASP.NET Core 中的 Request.Cookies:从 HTTP 协议到加密存储与执行时序
后端·http·asp.net
染翰16 分钟前
Java 实现 Git 自动克隆工具,打包成 Windows 独立 EXE(免安装JDK)
java·git·后端
小欣加油23 分钟前
leetcode3635 最早完成陆地和水上游乐设施的时间II
数据结构·c++·算法·leetcode
程序员cxuan25 分钟前
Codex 一直 Reconnecting?我最后发现,常见就两个坑
人工智能·后端·程序员
程序员海军39 分钟前
沪漂五周年了:我越来越迷茫了
前端·人工智能·后端