LeetCode 633. 平方数之和(双指针法)

简介: LeetCode 633. 平方数之和(双指针法)

633. 平方数之和


双指针法

class Solution
{
public:
    bool judgeSquareSum(int c)
    {
        long left = 0, right = sqrt(c);
        while (left <= right)
        {
            long tmp = left * left + right * right;
            if (tmp == c)
            {
                return true;
            }
            else if (tmp > c)
            {
                right--;
            }
            else
            {
                left++;
            }
        }
        return false;
    }
};

就是左右指针优化。要注意数据类型要为 l o n g ,因为 a 2 + b 2 = c

,所以 c ≥ a & & b 所以可以优化右指针初始值

目录
相关文章
|
2月前
【LeetCode 16】15.三数之和(双指针法)
【LeetCode 16】15.三数之和(双指针法)
34 1
|
2月前
【LeetCode 03】双指针法总结
【LeetCode 03】双指针法总结
18 0
|
4月前
|
Python
【Leetcode刷题Python】977. 有序数组的平方
解决LeetCode "有序数组的平方" 问题的方法:使用Python内置的快速排序、直接插入排序(但会超时)和双指针技术,并给出了每种方法的Python实现代码。
27 1
【Leetcode刷题Python】977. 有序数组的平方
|
4月前
|
Python
【Leetcode刷题Python】279. 完全平方数
LeetCode 279题 "完全平方数" 的Python解决方案,使用动态规划来找到和为给定整数n的完全平方数的最少数量。
42 0
|
4月前
|
Python
【Leetcode刷题Python】367. 有效的完全平方数
本文提供了两种判断一个正整数是否为完全平方数的Python实现方法:一种是利用数学公式逐个减去奇数的方法,另一种是使用二分查找优化的暴力求解方法。
72 0
|
6月前
|
索引
力扣每日一题 6/17 枚举+双指针
力扣每日一题 6/17 枚举+双指针
36 1
【超直白】leetcode 279 完全平方数
【超直白】leetcode 279 完全平方数
|
6月前
|
存储 算法 数据可视化
【模拟面试问答】深入解析力扣163题:缺失的区间(线性扫描与双指针法详解)
【模拟面试问答】深入解析力扣163题:缺失的区间(线性扫描与双指针法详解)
|
6月前
|
算法 数据挖掘 Java
深入解析力扣167题:两数之和 II(双指针法详解及模拟面试问答)
深入解析力扣167题:两数之和 II(双指针法详解及模拟面试问答)