367. 有效的完全平方数
生活随笔
收集整理的這篇文章主要介紹了
367. 有效的完全平方数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
367. 有效的完全平方數(shù)
給定一個(gè) 正整數(shù) num ,編寫一個(gè)函數(shù),如果 num 是一個(gè)完全平方數(shù),則返回 true ,否則返回 false 。
進(jìn)階:不要 使用任何內(nèi)置的庫函數(shù),如 sqrt 。
示例 1:輸入:num = 16 輸出:true示例 2:輸入:num = 14 輸出:false提示:
- 1 <= num <= 2^31 - 1
解題思路
使用二分法,因?yàn)閿?shù)字的平方是具有單調(diào)性的,因此我們可以選擇[1,num]作為搜索區(qū)間,當(dāng)mid的平方大于num時(shí),我們?cè)诳s小區(qū)間為左邊區(qū)間,反之當(dāng)mid的平方小于num時(shí),我們?cè)诳s小區(qū)間為右邊區(qū)間。
代碼
class Solution { public:bool isPerfectSquare(int num) {int l(1),r(num);while (l<=r){int mid=(r-l)/2+l;if ((long long )mid*mid==num)return true;else if ((long long )mid*mid<num)l=mid+1;else r=mid-1;}return false;} };總結(jié)
以上是生活随笔為你收集整理的367. 有效的完全平方数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到自己的奶奶怎么回事
- 下一篇: 2053. 数组中第 K 个独一无二的字