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、二分思想是比较常见的解题思路,这个简单题目可以了解到二分思想的作用

相关推荐
AKAMAI11 分钟前
对象存储应用场景聚焦:全新端点实现更高容量与速度
后端·云原生·云计算
threejs源码翻译官22 分钟前
显微镜图像处理(优化)-图像去噪算法比对
算法
程序员爱钓鱼44 分钟前
Go网络编程:基于TCP的网络服务端与客户端
后端·google·go
风象南1 小时前
SpringBoot的6种数据库垂直分片实现策略
java·spring boot·后端
Lei活在当下1 小时前
Java 8 效率精进指南(1)前言
java·后端·编程语言
武汉格发Gofartlic3 小时前
如何跟踪FEMFAT许可使用情况
运维·python·算法·信息可视化·数据分析
m0_640743565 小时前
华为OD-2024年E卷-字符串分割[100分] -- python
数据结构·算法·华为od
_何同学9 小时前
Ollama 安装 DeepSeek 与 Spring Boot 集成指南
java·spring boot·后端·ai
剪一朵云爱着9 小时前
力扣面试题 17.05. 字母与数字
算法·leetcode
盖世英雄酱5813610 小时前
时间设置的是23点59分59秒,数据库却存的是第二天00:00:00
java·数据库·后端