leetcode367. 有效的完全平方数
生活随笔
收集整理的這篇文章主要介紹了
leetcode367. 有效的完全平方数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一:題目
二:上碼
class Solution { public:/**完全平方數(shù):若一個(gè)數(shù)能表示成某個(gè)整數(shù)的平方的形式,則稱這個(gè)數(shù)為完全平方數(shù)思路:1.我們將num先折半,因?yàn)樗悄硞€(gè)整數(shù)的平方,而這個(gè)數(shù)的范圍肯定不會(huì)超過(guò)num的一半2.那么這就相當(dāng)于在[left,num/2]中查找某個(gè)數(shù),其的平方正好可以是num*/bool isPerfectSquare(int num) { if(num == 1) return true;int left = 0;int right = num/2; //一個(gè)數(shù)的完全平方數(shù)是的平方根是不會(huì)超過(guò)num/2的一半的while (left <= right) {long mid = (right-left)/2 + left;long square = mid * mid;if(square < num) {//當(dāng)平方小于num時(shí)候 我們需要在更大的范圍內(nèi)尋找midleft = mid + 1;} else if (square > num) {//當(dāng)平方大于num的時(shí)候,我們需要更小的范圍內(nèi)尋找midright = mid - 1;} else {return true;}}return false;} };總結(jié)
以上是生活随笔為你收集整理的leetcode367. 有效的完全平方数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 两步轻松修改电脑默认应用怎样修改电脑默认
- 下一篇: 创建一个对象时,在一个类当中 静态代码块