367. 有效的完全平方数(二分法)
生活随笔
收集整理的這篇文章主要介紹了
367. 有效的完全平方数(二分法)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:題目
二:思路
完全平方數:若一個數能表示成某個整數的平方的形式,則稱這個數為完全平方數
思路:1.我們將num先折半,因為它是某個整數的平方,而這個數的范圍肯定不會超過num的一半
2.那么這就相當于在[left,num/2]中查找某個數,其的平方正好可以是num
三:上碼
class Solution { public:/**完全平方數:若一個數能表示成某個整數的平方的形式,則稱這個數為完全平方數思路:1.我們將num先折半,因為它是某個整數的平方,而這個數的范圍肯定不會超過num的一半2.那么這就相當于在[left,num/2]中查找某個數,其的平方正好可以是num*/bool isPerfectSquare(int num) { if(num == 1)return 1;int left = 0;int right = num/2;while(left <= right){long mid =(long) (left+right)/2;long square =(long) mid * mid;if(square < num){left = mid + 1;}else if(square > num){right = mid - 1;}else{return true;}}return false;} };菜雞杰又水了一道,感覺二分法挺有意思 查找效率雖然不高,但至少提供了一種思路,這道題剛做差點暴力枚舉,但畢竟是二分法的練習題嘛 加油 素昧謀面的你!!!
總結
以上是生活随笔為你收集整理的367. 有效的完全平方数(二分法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode704二分法:(左闭右闭
- 下一篇: leetcode27:移除元素(暴力+双