一、题目内容

image.png

二、题解

解法1:

思路

时间复杂度 O(logx)O(logx),用二分法

代码

  1. public class Solution {
  2. public int sqrt (int x) {
  3. // write code here
  4. long left = 1,right = x,mid = (left+right)/2;
  5. while(left!=mid){
  6. long temp = mid * mid;
  7. if(temp == x){
  8. break;
  9. }else if(temp>x){
  10. right = mid;
  11. }else{
  12. left = mid;
  13. }
  14. mid = (left+right)/2;
  15. }
  16. return (int)mid;
  17. }
  18. }