69:x 的平方根

This commit is contained in:
轩辕龙儿 2022-03-15 22:46:43 +08:00
parent 78c0539b96
commit 74562a9aca
2 changed files with 99 additions and 0 deletions

View 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)
}

View File

@ -0,0 +1,31 @@
<p>给你一个非负整数 <code>x</code> ,计算并返回&nbsp;<code>x</code>&nbsp;<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>&nbsp;</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>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>0 &lt;= x &lt;= 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>