69. x 的平方根
实现 int sqrt(int x) 函数。
计算并返回 x 的平方根,其中 x 是非负整数。
由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。
示例 1:
输入: 4
输出: 2
示例 2:
输入: 8
输出: 2
说明: 8 的平方根是 2.82842...,
由于返回类型是整数,小数部分将被舍去。
C++解决方案:
1.直接法:
class Solution {
public:int mySqrt(int x) {return sqrt(x);}
};
2.牛顿法
class Solution {
public:int mySqrt(int x) {if (x == 0) {return 0;}double C = x, x0 = x;while (true) {double xi = 0.5 * (x0 + C / x0);if (fabs(x0 - xi) < 1e-7) {break;}x0 = xi;}return int(x0);}};
3.二分法
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 long)mid * mid <= x) {ans = mid;l = mid + 1;} else {r = mid - 1;}}return ans;}
};
4. exp法
class Solution {
public:int mySqrt(int x) {if (x == 0) {return 0;}int ans = exp(0.5 * log(x));return ((long long)(ans + 1) * (ans + 1) <= x ? ans + 1 : ans);}
};
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sqrtx
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
69. x 的平方根相关推荐
- LeetCode - 69. x 的平方根
69. x 的平方根 class Solution {private static final Integer MAX_POW = 46340;/*** 牛顿迭代* f(x) = x^2 - n* 切 ...
- 二分大法| 求X的开方,结果一个公式解决! (力扣69.X 的平方根)
本文将讲述:69.X 的平方根(简单) 题目:给你一个非负整数,求其开方,向下取整 思路: 首先,我们把问题数学表示出来,就是:求 f(x) = x^2 - a = 0的解: 而且,题目要求的是 非负 ...
- LeetCode #69 x的平方根 二分查找
LeetCode #69 x的平方根 题目描述 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍 ...
- LeetCode 69. x 的平方根:二分查找法实现自定义的函数:x 的平方根
LeetCode 69. x 的平方根:二分查找法实现自定义的函数:x 的平方根 题目描述 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型 ...
- 求一个任意实数c的算术平方根_LeetCode 题解 | 69. X 的平方根
本期精选题解由我们的用户"liweiwei1419"倾情撰写,一起来看看吧! 力扣 69. X 的平方根(点击查看题目) 题目描述 实现 int sqrt(int x) 函数. 计 ...
- Leetcode 69 x的平方根 (每日一题 20210805)
实现 int sqrt(int x) 函数.计算并返回 x 的平方根,其中 x 是非负整数.由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去.示例 1:输入: 4 输出: 2 示例 2:输入 ...
- leetcode 69. x 的平方根(C语言)
题目 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 示例 1: 输入: 4 输出: 2 ...
- LeetCode 69 X的平方根
原题 解题思路:二分法 class Solution { public:int mySqrt(int x) {long long i=0;long long j=x/2+1;//x的平方根不大于x/2 ...
- leetcode 69. x 的平方根 思考分析
题目 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 示例 1: 输入: 4 输出: 2 ...
- Leecode 69. x 的平方根
实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 示例 1: 输入: 4 输出: 2 示例 ...
最新文章
- 每日一博 - Semaphore使用场景分析以及源码分析
- Maven(6)--archetype
- ERROR: No query specified(Mysql数据库报错)
- html 手机浏览器:屏幕适配 - 代码篇
- python中re模块的函数_python中的re模块,常用函数介绍
- 苹果WWDC 2020回顾:来看看这个安卓味的iOS 14!
- 递归函数合式分解python_学习python的day10之递归与内置函数
- /usr/bin/ld: 找不到 -lglut
- 偏振成像的基本原理和特点
- EDI文件类型和传输协议
- “二十一天好习惯”第一期-20
- 如何修改作为背景图片的svg颜色
- 一种使用 PNP 作为开关管点亮LED的奇怪做法
- Word VBA自动排版(2)-通过自动查找替换去除叠字
- Python 类的继承和组合
- STM32实例-蜂鸣器实验
- 【MySQL】MySQL乱码全面解析
- Android模拟器检测体系梳理
- 基于C#winform的学生信息管理与成绩评价系统
- 2019 年第 13 周 DApp 影响力排行榜 | TokenInsight