題目三十九:
實現int sqrt(int x)
函式,計算並返回 x 的平方根。
您在真實的面試中是否遇到過這個題?
yes
樣例sqrt(3) = 1
sqrt(4) = 2
sqrt(5) = 2
sqrt(10) = 3 挑戰
o(log(x))
**:
class solution
if(i*ix)
return i;
if(i*i==x)
return i;}}
};
思路:減少時間消耗,在i*i用flag和j記錄i的值,i=i*i,如果出現i*i>x則i=j,讓i的值返回到前乙個i的值,同時更改flag,此後i=i+1;直到出現
i*ix或
i*i==x為止。
由於有i=i*i存在,所以減少了時間的消耗,之前逐個遍歷導致時間超出限制,這是我想出的處理方法。但是要注意i*i可能超出int的範圍,所以i定義為long long int型變數。
x的平方根
實現 int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。看到這個題,當時想到了利用二分法,查詢x的平方根。寫出了如下 public int mysqrt int x else if m m x m m 0 else return l 但是這個方法並不適用大數,因為m...
x的平方根
實現 int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4 輸出 2 示例 2 輸入 8 輸出 2 說明 8 的平方根是 2.82842 由於返回型別是整數,小數部分將被捨去。袖珍計算器演算...
69 x的平方根
一 題目 實現int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4輸出 2示例 2 輸入 8輸出 2說明 8 的平方根是 2.82842.由於返回型別是整數,小數部分將被捨去。二 思路 採用...