LeetCode Weekly Contest 39
来源:互联网 发布:草莓音乐节 上海 知乎 编辑:程序博客网 时间:2024/04/27 05:21
Given a non-negative integer c, your task is to decide whether there're two integers a and b such that a2 + b2 = c.
public class Solution { public boolean judgeSquareSum(int c) { if(c == 0) return true; int left = 0 , right = (int)Math.sqrt(c); //需要18ms,如果是用自己的算法,是12ms // int mid ,temp = 0; // while(temp == 0){ // mid = (left + right) / 2; // if(mid > c / mid) { // right = mid - 1; // } else{ // if((mid + 1) > c / (mid + 1)) // temp = mid; // left = mid + 1; // } // } // right= temp; // left = 0 ; while(left <= right){ int m = left * left + right * right; if( m > c) right--; else { if(m == c) return true; left++; } } return false; }}这种类型的题目肯定是逃不了一个值一个值的试验,所以不要从纯数学的角度考虑怎么解题,而是考虑如果降低时间复杂度。1、缩小遍历范围 2、利用二分查找算法
阅读全文
0 0
- LeetCode Weekly Contest 39
- LeetCode Weekly Contest 39解题思路
- LeetCode Weekly Contest 25
- leetcode weekly contest #26
- leetcode weekly contest #27
- LeetCode Weekly Contest 28
- LeetCode Weekly Contest 30
- LeetCode Weekly Contest 47
- LeetCode Weekly Contest 51
- LeetCode Weekly Contest 51
- LeetCode Weekly Contest 64
- leetcode weekly contest 4,3
- LeetCode Weekly Contest 40(1)
- LeetCode Weekly Contest 40(2)
- LeetCode Weekly Contest 40(3)
- LeetCode Weekly Contest 40(4)
- LeetCode Weekly Contest 43【总结】
- LeetCode Weekly Contest 8 第八周周赛
- Activiti历史活动查询
- LINQ系列:LINQ to SQL Select查询
- 在Mac下配置JAVA_HOME
- 1112: [POI2008]砖块Klo
- 二维数组置换
- LeetCode Weekly Contest 39
- 34.css总结
- POJ 2525 Text Formalization 笔记
- LINQ系列:LINQ to SQL Where条件
- Dockerfile中ONBUILD的用法
- Mipmap
- Wish官方运营手册:开启移动跨境电商之路,Jason Lee力荐!
- 穷举法、贪心法、蚁群算法、遗传算法、模拟退火算法介绍
- 鸟哥Linux学习之——归档与压缩