實現 int sqrt(int x) 函式。
計算並返回 x 的平方根,其中 x 是非負整數。
由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。
示例 1:
輸入: 4
輸出: 2
示例 2:
輸入: 8
輸出: 2
說明: 8 的平方根是 2.82842...,
由於返回型別是整數,小數部分將被捨去。
這道題的看到之後感覺暴力輕鬆會ac吧,結果還是碰到了一點門檻,因為在結果是最大數的時候是沒有辦法進行i∗i
i*ii∗
i操作的,當然,這個我們看下面的**再進行說明了。
方案一(上文提到的的方法):
這個方法就是很憨的了,暴力,次數是根號x吧。
class
solution
if( i*i < x )
continue
;else
if( i*i == x )
else
}return res;}}
;
方案2:
看了官方題解後發現二分查詢原來是這麼用的…原諒乙個演算法小白的無知。需要尤其注意的兩個地方:
mid*mid要用long long否則會出界
邊界條件要看好,可以通過自己編的資料試一試(我現在是這麼幹的)
class
solution
else
}return ans;}}
;
二分查詢對於時間複雜度的提公升是大大滴,思想很好,這個簡單題就算過了,明天我們搞乙個中等題試一下。 leetcode日記 69 x的平方根
今天的每日一題比較 奇特。實現 int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4 輸出 2 示例 2 輸入 8 輸出 2 說明 8 的平方根是 2.82842 由於返回型別是整數,小數部...
LeetCode 簡單 69 x 的平方根
實現 int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4 輸出 2 示例 2 輸入 8 輸出 2 說明 8 的平方根是 2.82842 由於返回型別是整數,小數部分將被捨去。class s...
LeetCode 查詢 二分查詢
給定乙個 n 個元素有序的 公升序 整型陣列 nums 和乙個目標值 target 寫乙個函式搜尋 nums 中的 target,如果目標值存在返回下標,否則返回 1。示例 輸入 nums 1,0,3,5,9,12 target 9 輸出 4 解釋 9 出現在 nums 中並且下標為 4 輸入 nu...