重庆茂尔建设集团有限公司网站,网站开发程序开发,网站分页样式,深圳洲聚网站建设一#xff1a;题目 二:思路
完全平方数:若一个数能表示成某个整数的平方的形式#xff0c;则称这个数为完全平方数 思路:1.我们将num先折半,因为它是某个整数的平方#xff0c;而这个数的范围肯定不会超过num的一半 2.那么这就相当于在[left,num/2]中查找某个数#xff0c…一题目 二:思路
完全平方数:若一个数能表示成某个整数的平方的形式则称这个数为完全平方数 思路: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) (leftright)/2;long square (long) mid * mid;if(square num){left mid 1;}else if(square num){right mid - 1;}else{return true;}}return false;}
};菜鸡杰又水了一道感觉二分法挺有意思 查找效率虽然不高但至少提供了一种思路这道题刚做差点暴力枚举但毕竟是二分法的练习题嘛 加油 素昧谋面的你