ほとんど同じ69件の質問とこの質問の練習、参照https://www.cnblogs.com/aaronliu1991/p/11696059.htmlを
時間O(ログn)は、
スペースO(1)
1 / * * 2 * @param {数} NUM 3 * @return {ブール} 4 * / 5 のvar isPerfectSquare = 関数(NUM){ 6 // コーナーケース 7 場合(NUM <= 0 ){ 8 リターン 偽。 9 } 10 であれば(NUMの=== 1 ){ 11 リターン 真。 12 } 13 14 // 通常の場合 15 せ低い= 1 。 16は =高LETNUM; 17 一方(= <低いハイ){ 18 LETミッド=のparseInt(低+(高-低)/ 2 )。 19 であれば(MID *ミッド=== {NUM) 20 リターン 真。 21 } そう であれば(MID *ミッド< NUM){ 22 ロー=ミッド+ 1 。 23 } 他{ 24 高=ミッド- 1 。 25 } 26 } 27 リターン 偽。 28 }。