leetcode算法练习【69】x 的平方根

Bea ·
更新时间:2024-11-15
· 692 次阅读

所有题目源代码:Git地址 题目 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。 方案:快排思想 设立边界,利用快排思想,快速寻找处ans2x的数 class Solution { public int mySqrt(int x) { if (x <= 0) { return 0; } long ans = 1; long min = 1; long max = x; while (true) { if (ans == max || min == max - 1) { return (int)ans; } else if (ans * ans x) { max = ans; ans = (min + max) / 2; } else if (ans * ans == x) { return (int)ans; } } } } 复杂度计算 时间复杂度:O(log(n)) 空间复杂度:O(1)
作者:椰子奶糖



leetcode 平方根

需要 登录 后方可回复, 如果你还没有账号请 注册新账号