給定乙個正整數 num,編寫乙個函式,如果 num 是乙個完全平方數,則返回 true,否則返回 false。
說明:不要使用任何內建的庫函式,如 sqrt。
示例 1:
輸入:16
輸出:true
示例 2:
輸入:14
輸出:false
兩個思路:
1.從0~num/2+1,存在乙個數的平方為num即為完全平方數,不存在則不是
2.通過列舉所有的完全平方數,1,4,9,16,25,36,49,64,81,100…等等,發現完全平方數的差都為奇數,即1,3,5,7,9,11,13,15…等等~所以可以判斷完全平方數應該是n個奇數的和。
public boolean isperfectsquare(int num)
}return flag;
}
leetcode 367 有效的完全平方數
367.有效的完全平方數 給定乙個正整數 num,編寫乙個函式,如果 num 是乙個完全平方數,則返回 true,否則返回 false。說明 不要使用任何內建的庫函式,如sqrt。示例 1 輸入 16 輸出 true示例 2 輸入 14 輸出 falseclass solution def ispe...
leetcode 367 有效的完全平方數
採用二分查詢,但要特別注意幾點 1 mid a b a 2防止溢位 2 判斷是否是平方不能直接判斷mid 2與num,有可能會溢位,因此先求mid 2 num mid,當能夠整除,且mid 2 mid時,即找到平方根,如果最終都沒有找到,那麼返回false class solution return...
LeetCode 完全平方數
給定正整數 n,找到若干個完全平方數 比如 1,4,9,16,使得它們的和等於 n。你需要讓組成和的完全平方數的個數最少。給你乙個整數 n 返回和為 n 的完全平方數的 最少數量 完全平方數 是乙個整數,其值等於另乙個整數的平方 換句話說,其值等於乙個整數自乘的積。例如,1 4 9 和 16 都是完...