栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

leetcode 633 这道题目考察的是二分法,没有想到怎么二分

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

leetcode 633 这道题目考察的是二分法,没有想到怎么二分

633. 平方数之和

难度中等353收藏分享切换为英文接收动态反馈

给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。

示例 1:

输入:c = 5
输出:true
解释:1 * 1 + 2 * 2 = 5

示例 2:

输入:c = 3
输出:false

提示:

  • 0 <= c <= 231 - 1

通过次数109,951提交次数282,401

题解:遍历寻找,确定a,判断b是不是平方数就行了。

class Solution {
public:
    bool judgeSquareSum(int c) {
        for(int a=0;a<=sqrt(c);a++)
        {
            int b=c-a*a;
            int tem=sqrt(b);
            if(tem*tem==b)
                return true;
        }
        return false;
    }
};

执行结果:

通过

显示详情

添加备注

执行用时:4 ms, 在所有 C++ 提交中击败了33.00%的用户

内存消耗:5.8 MB, 在所有 C++ 提交中击败了53.73%的用户

通过测试用例:127 / 127

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/875438.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号