lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

实现 int sqrt(int x) 函数。

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

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

示例 1:

输入: 4
输出: 2
示例 2:

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

 

 

package com.shoshana.leetcode.yyyy2018.mm10.dd05;

public class Q0069 {

	public static void main(String[] args) {
			System.out.println(mySqrt(1));
			System.out.println(mySqrt(3));
			System.out.println(mySqrt(4));
			System.out.println(mySqrt(9));
		    System.out.println(mySqrt(255));
		    System.out.println(mySqrt(256));
	}

	public static int mySqrt(int x) {
		if (x <= 1)
			return x;
		int left = 0;
		int right = x;
		while (left < right) {
			int mid = left +(right -left)/2;
			if(x/mid >= mid) left = mid +1;
			else right = mid;
		}
		return right -1;

	}

}

  

posted on 2018-10-05 18:09  白露~  阅读(213)  评论(0编辑  收藏  举报