🌈🌈😄😄
欢迎来到茶色岛独家岛屿,本期将为大家揭晓LeetCode 69. x 的平方根 ,做好准备了么,那么开始吧。
🌲🌲🐴🐴
给你一个非负整数 x ,计算并返回 x 的 算术平方根 。
由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。
注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。
示例 1:
输入:x = 4
输出:2
示例 2:输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。
0 <= x <= 231 - 1left<=right,这个需要我们平时不断的实验考查才可以,实践出真知。如果直接left
剩下操作就是二分查找基础用法啦,相信小伙伴们多多敲代码就会愈发熟练的。😄😄
- class Solution {
- public int mySqrt(int x) {
- int left=1,right=x;
- int ans=0;
- while(left<=right){
- int mid=(right-left)/2+left;
- if((long)mid*mid>x)
- right=mid-1;
- else{
- ans=mid;
- left=mid+1;
- }
- }
- return ans;
-
-
- }
- }


在遇到上面示例时,已超出int型最大限制,故需强转成long或更大才可以,(long)mid*mid>x。