Perfect Squares | LeetCode
来源:互联网 发布:淘宝培训机构单烽讲师 编辑:程序博客网 时间:2024/06/03 12:32
Perfect Squares
感觉这完全就是考数学定理,如果你记得四元平方和定理还有三元平方和定理,那么这道题就是一个简单的验证的题目,代码如下,解释了如何使用这两个定理解决这道题。
int numSquares(int n) { //四元平方定理,就是任意一个数都可以拆成四个平方之和,所以这题的答案只有1,2,3,4 //三元平方和定理,就是只要一个数是这个形式就不能拆分为3个数的平方和 //4^k(8*m+7) //一个数的平方和 int s = sqrt(n); if(s*s==n) return 1; //2 for(int i=1;i<=s;++i){ for(int j=1;j<=n-i*i;++j){ if(n==j*j+i*i) return 2; } } //4^k(8m+7) while(n%4==0){ n = n/4; } if(n%8==7) return 4; return 3; }
可能还有其他方法可以不使用数学定理,希望能够留言提供,一起交流学习。
0 0
- leetcode 279: Perfect Squares
- [Leetcode]Perfect Squares
- Leetcode 279 Perfect Squares
- Leetcode #279 Perfect Squares
- [leetcode 279]Perfect Squares
- Leetcode:279Perfect Squares
- Leetcode Perfect Squares
- LeetCode Perfect Squares
- leetcode Perfect Squares
- leetcode: Perfect Squares
- [LeetCode 279] Perfect Squares
- LeetCode -- Perfect Squares
- *LeetCode-Perfect Squares
- LeetCode----Perfect Squares
- [LeetCode]Perfect Squares
- Perfect Squares - LeetCode 279
- [Leetcode] Perfect Squares
- Perfect Squares -- leetcode
- linux之awk命令
- C#_索引器的使用
- POJ 1860 Bellman-frod判断负权回路
- 转载:Android快速开发系列 10个常用工具类
- 排序算法--冒泡排序
- Perfect Squares | LeetCode
- php 小计----常量名称和值的在单双引号中的搭配使用
- 类与对象编程题2(C++程序设计第3周)
- UESTC 1265 宝贵资源
- ActionScript 3.0 学习(十四) 从加载的.swf文件中读取flash库中的as链接的类
- Jenkins的分布式构建
- 类与对象编程题3(C++程序设计第3周)
- 常用的几种数据库介绍
- Android在View onCreate时获取控件的宽和高