zoukankan      html  css  js  c++  java
  • X的平方根

        1.题目地址:https://leetcode-cn.com/problems/sqrtx/
        2.题目内容:x的平方根  (简单)
        实现int sqrt(int x)函数,计算并返回x的平方根,其中x是非负整数,由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去.
        示例1:
        输入4 
        输出2
     
        示例2:
        输入8
        输出2
        说明8的平方根是2.8284..
        由于返回类型是整数,所以小数部分被舍去
     
        3.思考内容:
        a.x=n^2,属于函数单调递增
        b.存在上下边界
        c.可以通过索引来获取
      
        4.处理方式一:
    public int mySqrt(int x) {
       // 1.进行参数有效性验证
       if (x <= 0) { return 0;}
       // 2.进行二分法参数设置
       int left = 0, right = x, ans = 0;
       // 3.进行二分法核心逻辑
       while (left <= right) {
          int mid = left + (right - left) / 2;   // 防止mid数据溢出
          long midVal = (long)mid * mid;
          if (midVal == x) {
             ans = mid;
             break;                              // 结束循环的标志
          } else if (midVal < x) {
             ans = mid;                          // 非标准的平方根  
             left = mid + 1;                     // 结束循环的标志
          } else {
             right = mid - 1;
          }
       }
       return ans;
    }
    

        5.处理方式二:

    class Solution {
        public int mySqrt(int x) {
           // 1.进行参数有效性验证
           if (x <= 0) { return 0;}
           // 2.进行二分法参数设置
           int left = 0, right = x, ans = 0;
           // 3.进行二分法核心逻辑
           while (left <= right) {
               int mid = left + (right - left) / 2;
               long midVal = (long)mid * mid;
               if (midVal <= x) {                   // 将方式一中的等于和小于合并处理.
                   ans = mid;
                   left = mid + 1;
               } else {
                   right = mid - 1;
               }
           }
           return ans;
        }
    }
  • 相关阅读:
    HDU 4339 Query
    Another app is currently holding the yum lock解决方法
    m0n0wall安装教程
    网盘
    kali 网络配置
    monowall
    Windows server 2012安装vmtools遇到的问题
    利用WPF建立自适应窗口大小布局的WinForm窗口
    wpf倒影效果
    SQL 进制间如何转换
  • 原文地址:https://www.cnblogs.com/zhtzyh2012/p/14762910.html
Copyright © 2011-2022 走看看