Lintcode697-判断是否为平方数之和
来源:互联网 发布:navicat 备份数据库 编辑:程序博客网 时间:2024/06/06 19:44
哈哈,这题网上竟然没有找到答案,于是自己copy到VS里面调试了几次终于AC了,不保证是最优的算法,时间复杂度应该是O(nlogn),空间复杂度O(1)(循环里面嵌套了一个二分查找),万一有人需要呢,分享一下~
class Solution {public: /* * @param : the given number * @return: whether whether there're two integers */ bool isSquare(int n) {if (n < 0) {return false;}if (n == 0) return true;int low = 1;int high = n;int mid = (low + high) >> 1;while (low <= high) {int temp = n / mid;if (mid == temp && n == mid * temp) {return true;}if (temp < mid) {high = mid - 1;}if (temp >= mid) {low = mid + 1;}mid = (low + high) >> 1;}return false; // fix me! }bool checkSumOfSquareNumbers(int num) {// write your code hereif (num<0) return false;if (isSquare(num)) return true;for (int i = 1; i<=sqrt(num); i++){int target = (num - i * i);if (!isSquare(target)) continue;int j = sqrt(num)+1;int mid = 0;while (i <= j){mid = (i + j) / 2;if (sqrt(target)>mid)i = mid + 1;else if (sqrt(target)<mid)j = mid - 1;elsereturn true;}if (mid != sqrt(target)) return false;elsereturn true;}}};终于会用二分查找了~
阅读全文
0 0
- Lintcode697-判断是否为平方数之和
- 判断是否为平方数之和-LintCode
- 判断某整数是否为两数平方之和
- LintCode第697题目:判断是否为平方数之和
- 判断是否为平方数
- 判断一个数是否为平方数
- 判断一个数是否为平方数
- 算法爱好者——判断某整数是否为两数平方之和 ? 待解决
- 判断是否为完全平方数
- 怎么判断一个数是否为完全平方数
- 判断一个数是否为完全平方数
- 判断x是否为2的平方数
- python中判断是否为完全平方数(在9999平方的范围内)
- 判断一个数是否是平方数
- 判断一个数是否是平方数
- 367. Valid Perfect Square--判断一个数是否为完全平方数
- 判断一个整数是否平方数
- 判断一个数是否包含平方因子
- DrawerLayout+TabLayout+ViewPager+RadioButton+Fragment+pullToRefresh+ImageLoader
- 【数学】康托对于实数集大于自然数集的对角线证法
- 1045. 快速排序(25)
- java中final关键字用法小结
- 简单Tcp的winform窗体
- Lintcode697-判断是否为平方数之和
- html制作百度首页
- 【ARC072E】Alice in linear land DP
- 实验四 顺序队列、链队列(JavaScript)
- JZOJ.4778. 【NOIP2016提高A组模拟9.14】数列编辑器
- golang基础-变常量、值互换、数据类型、键盘输入、格式化、字符串
- mysql不能远程登录的解决办法
- Phlacon Volt 页面输出“{{”、"{%"和"{#"等语法标签
- 前端学习のhtml元素布局