public class Solution { public int mySqrt(int x) { if (x == 0) return 0; int left = 1, right = Integer.MAX_VALUE; while (true) { int mid = left + (right - left)/2; if (mid > x/mid) { right = mid - 1; } else { if (mid + 1 > x/(mid + 1)) return mid; left = mid + 1; } } } }
程式設計可以改變您的未來(Programming can change your future)。 雲林SONG 全名為雲林軟體工程(SOftware eNGineering),目標致力於軟體人才的培養並推廣開源軟體落實於資訊教育。程式設計的觀念是軟體產品的基礎,程式碼就像沙子一樣,要紮實,所建立出來的高塔才會穩固。本站也提供資訊教育相關的教學資源。 YunlinSONG stands for Yunlin SOftware eNGineering, offering tutorial for computer programming and promoting open-source software. Teaching resources in information technology education are provided here.
LeetCode OJ: 69. Sqrt(x) 平方根
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。
題目連結,此題當然可以用程式語言內建的數學函式sqrt解題,只不過這樣子就沒意思啦,在Wiki上可查到很多數學解法,其中牛頓法是個不錯的選擇,不過改完的結果比較像Binary Search耶。
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言