LeetCode-069-x的平方根

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