「 每日一练,快乐水题 」728. 自除数

Posted 谁吃薄荷糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「 每日一练,快乐水题 」728. 自除数相关的知识,希望对你有一定的参考价值。

文章目录


🔴力扣原题:

力扣链接:728. 自除数

🟠题目简述:

自除数 是指可以被它包含的每一位数整除的数。

例如,128 是一个 自除数 ,因为128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。
自除数 不允许包含 0 。

给定两个整数 left 和 right ,返回一个列表,列表的元素是范围 [left, right] 内所有的 自除数 。

🟡解题思路:

1.模拟大法好;
2.int数转string得出数字的字符串;
3.遍历字符串得出每一位的char,然后char转int进行自除;
4.over;

🟢C++代码:

class Solution 
    bool isSelfDividingNum(int num)
    
        bool bRet = true;
        string str = to_string(num);
        int n = str.length();

        for(int i = 0; i < n; i++)
        

            int j = str[i] - '0'; ///< char to int

            if((0 == j) || (0 != (num % j))) ///< 除数为0的情况也要处理
            
                bRet = false;
                break;
            
        

        return bRet;
    

public:
    vector<int> selfDividingNumbers(int left, int right) 
        vector<int> vec;

        for(int i = left; i <= right; i++)
        
            if(isSelfDividingNum(i))
            
                vec.push_back(i);
            
        

        return vec;
    
;

🔵结果展示:

以上是关于「 每日一练,快乐水题 」728. 自除数的主要内容,如果未能解决你的问题,请参考以下文章

JAVA自除数——力扣每日一题(2022.03.31)

JAVA自除数——力扣每日一题(2022.03.31)

JAVA自除数——力扣每日一题(2022.03.31)

JAVA自除数——力扣每日一题(2022.03.31)

LeetCode 728. 自除数 / 954. 二倍数对数组 / 420. 强密码检验器

「 每日一练,快乐水题 」744. 寻找比目标字母大的最小字母