LeetCode每日一题,633. 平方数之和
先看题目描述
算法和思路
使用 sqrt 函数
从 0 到 $\sqrt{c}$ 枚举 a,利用 sqrt 函数求出对应的 b,若 b 是整数,则找到了一对满足条件的 a 和 b,直接返回 true;若到最后也没有找到满足条件的 b,则返回 false
双指针
初始化指针 a 等于 0,指针 b 等于 $\sqrt{c}$ ,进行如下操作:
- 若 $a^2 + b^2 = c$,则找到了一对满足条件的 a 和 b,直接返回 true 即可
- 若 $a^2 + b^2 < c$,则将 a 加 1
- 若 $a^2 + b^2 > c$,则将 b 减 1
当 a > b 时结束查找,若到最后也没找到一对满足条件的 a 和 b,则返回 false
算法源码
使用 sqrt 函数
1 | class Solution { |
双指针
1 | class Solution { |