美文网首页算法
LeetCode题解:完美数

LeetCode题解:完美数

作者: 搬码人 | 来源:发表于2022-03-25 20:45 被阅读0次

题目描述

给定一个正整数,如果它和除了它自身以外的左右正因子之和相等,我们称之为完美数。
给定一个正整数n,如果是完美数,返回true;否则返回false。

示例

  • 示例1
    输入:num = 28
    输出:true
    解释:28 = 1 + 2 + 4 + 7 + 14
  • 示例2
    输入:num = 7
    输出:false

思路方法

来自LeetCode题解
class Solution {
    public boolean checkPerfectNumber(int num) {
        if(num==1){
            return false;
        }
        int sum =1;
        for(int d=2;d*d<=num;d++){
            if(num%d==0){
                sum+=d;
                if(d*d<num){
                    sum+=(num/d);
                }
            }
        }
        return sum==num;
    }
}

复杂度分析

  • 时间复杂度:O(√num)。
  • 空间复杂度:O(1)。

相关文章

  • LeetCode题解:完美数

    题目描述 给定一个正整数,如果它和除了它自身以外的左右正因子之和相等,我们称之为完美数。给定一个正整数n,如果是完...

  • LeetCode题解:回文数

    题目描述 给你一个整数x,如果x是一个回文整数,返回true;否则返回false。回文数是指正序度和倒叙读都是一样...

  • LeetCode题解:快乐数

    题目描述 编写一个算法来判断一个数n是不是快乐数。“快乐数”定义为: 对于一个正整数,每次将该数替换为它每个位置上...

  • LeetCode题解

    LeetCode题解

  • 精选TOP面试题

    序号编号题目题解通过率难度出现频率11两数之和[https://leetcode-cn.com/problems/...

  • LeetCode题解:两数之和

    题目描述 给定一个数组nums和一个整数target,请你在该数组中找出和为目标值target的那两个整数,并返回...

  • LeetCode题解:两数相加

    题目描述 给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个结点只能存储一位数...

  • LeetCode题解:三数之和

    题目描述 给你一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c,使得a+b+c=0?请你找...

  • 干货!LeetCode 题解汇总

    LeetCode 传送门 https://leetcode.com/ LeetCode 题解 Github:htt...

  • 221. Maximal Square

    LeetCode Link 题解方式 DP

网友评论

    本文标题:LeetCode题解:完美数

    本文链接:https://www.haomeiwen.com/subject/xhidjrtx.html