博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
力扣题解| 69. x 的平方根
阅读量:2437 次
发布时间:2019-05-10

本文共 909 字,大约阅读时间需要 3 分钟。

实现 int sqrt(int x) 函数。

计算并返回 x 的平方根,其中 x 是非负整数。

由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。

示例 1:

输入: 4输出: 2

示例 2:

输入: 8输出: 2说明: 8 的平方根是 2.82842...,      由于返回类型是整数,小数部分将被舍去。

解法一:

 

class Solution {    public int mySqrt(int x) {        if (x == 0) {            return 0;        }        int ans = (int)Math.exp(0.5 * Math.log(x));        return (long)(ans + 1) * (ans + 1) <= x ? ans + 1 : ans;    }}

解放二(容易想到):

//官方版class Solution {    public int mySqrt(int x) {        int l = 0, r = x, ans = -1;        while (l <= r) {            int mid = l + (r - l) / 2;            if ((long)mid * mid <= x) {                ans = mid;                l = mid + 1;            }            else {                r = mid - 1;            }        }        return ans;    }}//民间版public int mySqrt(int x)     {    if(x == 1)        return 1;    int min = 0;    int max = x;    while(max-min>1)    	{        int m = (max+min)/2;        if(x/m

 

转载地址:http://fbuqb.baihongyu.com/

你可能感兴趣的文章
看HashMap源码前的必备冷知识,白话文式教学,适合刚开始了解源码的新手观看
查看>>
Spring-data-redis在shiro中的实例
查看>>
SEO作弊常见方法和形式(转)
查看>>
蓝芽技术的原理和应用(2)(转)
查看>>
实例编程:用VC写个文件捆绑工具(转)
查看>>
教你如何用手工迅速剿灭QQ广告弹出木马(转)
查看>>
oracle数据库应用中实现汉字“同音”查询(转)
查看>>
关于无盘网络正确网络配置建议,减少卡机蓝屏关键(转)
查看>>
交换机及路由器如何才能更加安全?(转)
查看>>
chinaunix
查看>>
屡次选错终致项目暴毙(转)
查看>>
WinXP优化 全面消除操作系统的复制乱码(转)
查看>>
检查字符串strSource是否为big或big5码(转)
查看>>
突破网吧及机房管理限制的方法(转)
查看>>
How to Use DBMS_SUPPORT Package(转)
查看>>
在Win2003中配置SNMP服务的网络安全(转)
查看>>
如何彻底保护你的网站不受RDS攻击的威胁(转)
查看>>
提高网站在Google中的排名——面向搜索引擎的网站设计(转)
查看>>
SQL Server 存储过程的经典分页(转)
查看>>
学习J2ME编程需要掌握的七种技术(转)
查看>>