LeetCode-069-x的平方根

題目描述:實現(xiàn) int sqrt(int x) 函數(shù)。
計算并返回 x 的平方根,其中 x 是非負整數(shù)。
由于返回類型是整數(shù),結(jié)果只保留整數(shù)的部分,小數(shù)部分將被舍去。
示例說明請見LeetCode官網(wǎng)。
來源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/sqrtx/ ??
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
解法一:二分法
首先設置一個最小值min為1,最大值max為46340是
Math.sqrt(Integer.MAX_VALUE)
如果
mid*mid
等于x,則直接返回mid;如果
mid*mid
小于x,則將min設置為mid+1,重新進行下一輪判斷;如果
mid*mid
大于x,則將max設置為mid-1,重新進行下一輪判斷;終止條件就是max不大于min。
最后返回mid。
【每日寄語】 你今天的努力,是幸運的伏筆,當下的付出,是明日的花開。
標簽: