給定乙個正整數 num,編寫乙個函式,如果 num 是乙個完全平方數,則返回 true,否則返回 false。
說明:不要使用任何內建的庫函式,如 sqrt。
示例 1:
輸入:16
輸出:true
示例 2:
輸入:14
輸出:false
本題是在解決完我第一次刷題筆記中那道題之後推薦的題目,我看這兩題似乎很有共通之處,一開始想在第一次的基礎上改一改然後提交,後來發覺,有一條捷徑,那就是在實現sqr
t(
)sqrt()
sqrt()
函式之後,在後面加上乙個判斷,如果求出的值hal
fhalf
half
的平方等於輸入的num
numnu
m那不就解決這個問題了麼。。。。
最後提交結果後,由於本題提交的人很少,居然還打敗了100%d的人。
##遇見的問題
沒有,不過,我有考慮過效率上的問題,本題和前一題,都是按照折半的思路來解決的,時間複雜度大概是log
2x
log_2 x
log2x
,可能會有更有效率的解決方式吧。
##答案
public
boolean
isperfectsquare
(int num)
else}}
if(half * half == num )
return
true
;else
return
false
;}
367 有效的完全平方數
題目 給定乙個正整數num,如果num是乙個完全平方數,返回true,否則返回false 法1 觀察到完全平方數1,4,9,16都是奇數的累加,比如1 1,4 1 3,9 1 3 5,16 1 3 5 7等等 def isperfectsquare self,num type num int rty...
367 有效的完全平方數
鏈結 給定乙個正整數 num,編寫乙個函式,如果 num 是乙個完全平方數,則返回 true,否則返回 false。說明 不要使用任何內建的庫函式,如 sqrt。示例 1 輸入 16 輸出 true示例 2 輸入 14 輸出 falsefunc isperfectsquare num int boo...
leetcode 367 有效的完全平方數
367.有效的完全平方數 給定乙個正整數 num,編寫乙個函式,如果 num 是乙個完全平方數,則返回 true,否則返回 false。說明 不要使用任何內建的庫函式,如sqrt。示例 1 輸入 16 輸出 true示例 2 輸入 14 輸出 falseclass solution def ispe...