69:x 的平方根
This commit is contained in:
parent
78c0539b96
commit
74562a9aca
68
src/main/java/leetcode/editor/cn/Sqrtx.java
Normal file
68
src/main/java/leetcode/editor/cn/Sqrtx.java
Normal file
@ -0,0 +1,68 @@
|
||||
//给你一个非负整数 x ,计算并返回 x 的 算术平方根 。
|
||||
//
|
||||
// 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。
|
||||
//
|
||||
// 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。
|
||||
//
|
||||
//
|
||||
//
|
||||
// 示例 1:
|
||||
//
|
||||
//
|
||||
//输入:x = 4
|
||||
//输出:2
|
||||
//
|
||||
//
|
||||
// 示例 2:
|
||||
//
|
||||
//
|
||||
//输入:x = 8
|
||||
//输出:2
|
||||
//解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// 提示:
|
||||
//
|
||||
//
|
||||
// 0 <= x <= 2³¹ - 1
|
||||
//
|
||||
// Related Topics 数学 二分查找 👍 927 👎 0
|
||||
|
||||
package leetcode.editor.cn;
|
||||
|
||||
//69:x 的平方根
|
||||
public class Sqrtx {
|
||||
public static void main(String[] args) {
|
||||
Solution solution = new Sqrtx().new Solution();
|
||||
solution.mySqrt(6);
|
||||
}
|
||||
|
||||
//leetcode submit region begin(Prohibit modification and deletion)
|
||||
class Solution {
|
||||
public int mySqrt(int x) {
|
||||
if (x < 2) {
|
||||
return x;
|
||||
}
|
||||
int left = 0;
|
||||
int right = x;
|
||||
while (left < right) {
|
||||
int mid = (right - left) / 2 + left;
|
||||
if (mid == left) {
|
||||
break;
|
||||
}
|
||||
if (mid * mid == x) {
|
||||
return mid;
|
||||
} else if (x / mid >= mid) {
|
||||
left = mid;
|
||||
} else {
|
||||
right = mid;
|
||||
}
|
||||
}
|
||||
return left;
|
||||
}
|
||||
}
|
||||
//leetcode submit region end(Prohibit modification and deletion)
|
||||
|
||||
}
|
31
src/main/java/leetcode/editor/cn/doc/content/Sqrtx.md
Normal file
31
src/main/java/leetcode/editor/cn/doc/content/Sqrtx.md
Normal file
@ -0,0 +1,31 @@
|
||||
<p>给你一个非负整数 <code>x</code> ,计算并返回 <code>x</code> 的 <strong>算术平方根</strong> 。</p>
|
||||
|
||||
<p>由于返回类型是整数,结果只保留 <strong>整数部分 </strong>,小数部分将被 <strong>舍去 。</strong></p>
|
||||
|
||||
<p><strong>注意:</strong>不允许使用任何内置指数函数和算符,例如 <code>pow(x, 0.5)</code> 或者 <code>x ** 0.5</code> 。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>示例 1:</strong></p>
|
||||
|
||||
<pre>
|
||||
<strong>输入:</strong>x = 4
|
||||
<strong>输出:</strong>2
|
||||
</pre>
|
||||
|
||||
<p><strong>示例 2:</strong></p>
|
||||
|
||||
<pre>
|
||||
<strong>输入:</strong>x = 8
|
||||
<strong>输出:</strong>2
|
||||
<strong>解释:</strong>8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。
|
||||
</pre>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>0 <= x <= 2<sup>31</sup> - 1</code></li>
|
||||
</ul>
|
||||
<div><div>Related Topics</div><div><li>数学</li><li>二分查找</li></div></div><br><div><li>👍 927</li><li>👎 0</li></div>
|
Loading…
Reference in New Issue
Block a user