【双指针】【数之和】 LeetCode 633.平方数之和

算法思想:

  • 双指针枚举i,j;类似三数之和
cpp 复制代码
class Solution {
public:
    bool judgeSquareSum(int c) {
        long long  sum=0;
        vector<int> dp;dp.push_back(0);
        long long start=1;
        while(sum < c)
        {
            sum = start *start;
            if(sum>c) break;
            else dp.push_back(sum);
            start++;

        }
        long long l=0,r=dp.size()-1;
        while(l<=r)
        {
            //long long tmp =dp[l] + dp[r]; 会溢出
            if(dp[l] < c-dp[r])
            {
                l++;
                continue;
            }
            else if (dp[l] > c - dp[r])
            {
                r--;
                continue;
            }
            else if(dp[l] == c-dp[r]) return true;
        }
        return false;

    }
};

但注意一点,dpl + dpr会溢出,所以用减法不会溢出;

相关推荐
贵慜_Derek2 小时前
vLLM-05|MLA、Compressor、Indexer 与 SWA:Flash 注意力栈在 vLLM 里怎么落地
人工智能·算法·llm
冻柠檬飞冰走茶2 小时前
PTA基础编程题目集 7-13 日K蜡烛图(C语言实现)
c语言·开发语言·数据结构·算法
Databend2 小时前
从全表排序到概率统计:Databend 如何用 KLL、Top-N 与 CMS 改进基数估计
大数据·数据库·算法
imuliuliang2 小时前
分治法在大数据计算中的并行化应用探索7
算法
Lsir10110_2 小时前
【力扣hot100】矩阵题通关复盘
算法·leetcode·矩阵
退休倒计时2 小时前
【每日一题】LeetCode 207. 课程表 TypeScript
算法·leetcode·typescript
稚南城才子,乌衣巷风流3 小时前
树的重心:概念、性质与算法详解
算法·深度优先·图论
不会就选b3 小时前
算法日常・每日刷题--<哈希>1
算法·哈希算法
zander2583 小时前
LeetCode 207. 课程表
算法·深度优先
萌动的小火苗3 小时前
深度学习中的损失函数与优化算法基础知识
人工智能·深度学习·算法