专栏首页大白技术控的技术自留地C#版(击败96.64%的提交) - Leetcode 728. 自除数 - 题解

C#版(击败96.64%的提交) - Leetcode 728. 自除数 - 题解

C#版(击败96.64%的提交) - Leetcode 728. 自除数 - 题解

Leetcode 728 - Self Dividing Numbers 在线提交: https://leetcode-cn.com/problems/self-dividing-numbers/

题目描述


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

例如,128 是一个自除数,因为 128 % 1 == 0128 % 2 == 0128 % 8 == 0

还有,自除数不允许包含 0 。

给定上边界和下边界数字,输出一个列表,列表的元素是边界(含边界)内所有的自除数。

示例 1:

输入: 
上边界left = 1, 下边界right = 22
输出: [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]

注意:

  • 每个输入参数的边界满足 1 <= left <= right <= 10000

  • 题目难度:Easy
  • 通过次数:1.5K
  • 提交次数:2.5K
  • 相关话题 数学 相似题目 完美数

思路:

遍历原数列,对每一个进行判断,比如:判断函数取名为IsSelfDIv()

排除含有0的数,排除原数不是末位数字倍数的数。

已AC代码:

public class Solution
{
    public IList<int> SelfDividingNumbers(int left, int right)
    {
        List<int> list = new List<int>();
        for (int i = left; i <= right; ++i)
        {
            if (isSelfDiv(i))
                list.Add(i);
        }
        return list;
    }

    bool isSelfDiv(int n)
    {
        if (n < 10)
            return true;
        if (n % 10 == 0)
            return false;

        int t = n;
        while (t != 0)         // 此while循环的出口条件需要好好体会
        {
            int rem = t % 10;
            if (rem == 0)
                return false;
            if (rem >1 && n % rem != 0)
                return false;
            t /= 10;
        }
        return true;
    }
}

Rank: You are here! Your runtime beats 96.64% of csharp submissions.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C#版 - ZJNUoj1259 - 幸运数字——中高级 - 题解

    Time Limit: 1000 ms       Memory Limit: 65536 KB Total Submissions: 116    Ac...

    Enjoy233
  • C#刷遍Leetcode面试题系列连载(4): No.633 - 平方数之和

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    Enjoy233
  • C#版 - Leetcode367. 有效的完全平方数 - 题解

    在线提交: https://leetcode.com/problems/valid-perfect-square/

    Enjoy233
  • 多媒体处理类

    import java.io.*; import java.util.*; import javax.servlet.http.*;

    源哥
  • 微信支付接口对接

    最近对接了安卓开发,涉及到了微信支付,需要调取微信 app 支付相关的接口,目前我们项目中使用的是微信普通商户版的。我们开发的安卓 APP 调用微信提供的SDK...

    用户4945346
  • golang之递归

    超蛋lhy
  • 【POJ 2826】An Easy Problem?!(几何、线段)

    饶文津
  • 爬楼梯

    一份执着✘
  • 漫画:贼简单的题目,但百分之99%的人都不会

    今天是小浩算法“365刷题计划”第53天。为大家分享一道本应很简单的题目,但是却因增加了特殊条件,而大幅增加了难度。话不多说,直接看题。

    程序员小浩
  • 漫画:贼简单的题目,但百分之99%的人都不会

    为大家分享一道本应很简单的题目,但是却因增加了特殊条件,而大幅增加了难度。话不多说,直接看题。

    五分钟学算法

扫码关注云+社区

领取腾讯云代金券