免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
日々のプログラミングの問題
タイトル説明
正の整数NUMを考えると、numは完璧な正方形であれば、そうでなければFalse、Trueを返し、関数を記述します。
注:このようSQRTなど、任意の組み込みのライブラリ関数を使用しないでください。
サンプル
例1:
入力:16
出力:真
例2:
入力:14
出力:偽
Pythonのソリューション
class Solution:
def isPerfectSquare(self, num: int) -> bool:
if num < 1:
return False
i,j = 1, num
while i<=j:
mid = (i + j) // 2
if mid **2 == num:
return True
elif mid **2 < num:
i = mid + 1
else:
j = mid - 1
ときに実行:68ミリ秒の
メモリ消費量:13.8メガバイトの
反射後のタイトル:なし
C言語ソリューション
bool isPerfectSquare(int num){
if (num<1)
return false;
int left = 0;
int right = num;
int mid ;
while(left<=right)
{
mid = (left+right)/2;
if (pow(mid,2) == num)
{
return true;
}
else if (pow(mid,2) > num)
right = mid - 1;
else
left = mid+1;
}
return false;
}
ときに実行:4ミリ秒の
メモリ消費量:6.7メガバイトの
反射後のタイトル:
問題解決
本論文では、私の個人的理解、間違った場所に歓迎のコメントは以下を教えている場合、私は速やかに修正し、一般的な進歩であります