博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019年3月31日 LeetCode——69 Java之 x 的平方根
阅读量:6194 次
发布时间:2019-06-21

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

题目要求:

实现 int sqrt(int x) 函数。

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

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

示例 1:

输入: 4输出: 2

示例 2:

输入: 8输出: 2说明: 8 的平方根是 2.82842...,      由于返回类型是整数,小数部分将被舍去。 思路: 题目要求实现x的平方根,最后结果只保留整数部分。很容易的想到用二分法。 代码示例:
class Solution {    public int mySqrt(int x) {       int high=x;       int low=0;       while(low<=high){            long mid=(high+low)/2;            if(mid*mid>x){                high=(int)mid-1;            }            if(mid*mid

注意:low和high都是int型,mid是long,所以在赋值转换的时候,long转int要使用强制转换,eg: high=(int)mid-1;另外二分法在确定位置时,即把mid指针所指的值转换为

high时,要减1,转换为low时,要加1.否则的话最后结果会变成死循环,程序无法走出判断条件,进而运行时间超时。

第二种思路:暴力法

class Solution {    public int mySqrt(int x) {        if(x>=2147483647) return 46340;        int result=0;        for(int i=0;i<46341;i++){            if(i*i==x){                result=i;                            }            if(i*i
x){ result=i; } } return result; }}

 

 

转载于:https://www.cnblogs.com/xiayanjiao/p/10630748.html

你可能感兴趣的文章
mvn使用哪个jdk?
查看>>
MongoDB安全事件的一些思考
查看>>
云数据库架构演进与实践
查看>>
论学好Linux系统的超级重要性
查看>>
键盘驱动修复
查看>>
hadoop的使用
查看>>
linux的PHP扩展模块安装
查看>>
第八章、bash脚本编程(中)
查看>>
Spring Bean配置默认为单实例 pring Bean生命
查看>>
自定义标签
查看>>
div+css基础总结(二)布局后的准备
查看>>
MySQL事务
查看>>
网络安装Centos 6.6 基本NFS
查看>>
部署与管理ZooKeeper
查看>>
什么是Code Review(转)
查看>>
Linux下安装Nginx详细图解教程
查看>>
Java高级部分笔记-------泛型
查看>>
SpringBoot 整合Mybatis
查看>>
初学Android
查看>>
日志管理
查看>>