美文网首页
2022-03-31 「728. 自除数」

2022-03-31 「728. 自除数」

作者: 柠香萌萌鸡 | 来源:发表于2022-03-31 08:59 被阅读0次

今日简单题找回自信:https://leetcode-cn.com/problems/self-dividing-numbers/
遍历找数的思路,没有什么难度,关键在使用while循环对数字做分解「i % (tmp % 10) != 0」,要记得除数「tmp % 10」不能为0,算一种异常场景的考虑。

看了下宫水大佬的解法,果然我的写法还是不够简洁。
此处记录下continue的用法:

  1. 一般的continue会退回最内层循环的开头(顶部),并继续执行
  2. 带标签的continue会达到标签的位置,并重新进入紧接在那个标签后面的循环

宫水的写法,可以快速返回标签部分,不像我还要用一个flag去记录。

class Solution {
    public List<Integer> selfDividingNumbers(int left, int right) {
        List<Integer> ans = new ArrayList<>();
        out:for (int i = left; i <= right; i++) {
            int cur = i;
            while (cur != 0) {
                int t = cur % 10;
                if (t == 0 || i % t != 0) continue out;
                cur /= 10;
            }
            ans.add(i);
        }
        return ans;
    }
}

作者:AC_OIer
链接:https://leetcode-cn.com/problems/self-dividing-numbers/solution/by-ac_oier-pvb1/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

我的啰嗦写法:

class Solution {
    public List<Integer> selfDividingNumbers(int left, int right) {
        List<Integer> ans = new ArrayList<Integer>();
        for(int i=left; i<=right; i++) {
            int tmp = i;
            int flag = 0;
            while(tmp != 0) {
                // 除数不能为0
                if (tmp % 10 ==0) {
                    flag = 1;
                    break;
                }
                else if (i % (tmp % 10) != 0) {
                    flag = 1;
                    break;
                }
                tmp /=10;
            }
            if (flag == 0) {
                ans.add(i);
            }
        }
        return ans;
    }
}

相关文章

  • 2022-03-31 「728. 自除数」

    今日简单题找回自信:https://leetcode-cn.com/problems/self-dividing-...

  • [LeetCode] 728. 自除数

    728. 自除数自除数 是指可以被它包含的每一位数除尽的数。例如,128 是一个自除数,因为 128 % 1 ==...

  • 728. 自除数

    自除数是指可以被它包含的每一位数除尽的数。例如,128 是一个自除数,因为128 % 1 == 0,128 % 2...

  • 728. 自除数

    内容 自除数 是指可以被它包含的每一位数除尽的数。 例如,128 是一个自除数,因为 128 % 1 == 0,1...

  • 728. 自除数

    自除数 是指可以被它包含的每一位数除尽的数。例如,128 是一个自除数,因为 128 % 1 == 0,128 %...

  • 【LeetCode】728.自除数

    题目描述 自除数 是指可以被它包含的每一位数除尽的数。 例如,128 是一个自除数,因为128 % 1 == 0,...

  • 2021-11-22 728. 自除数【Easy】

    自除数 是指可以被它包含的每一位数除尽的数。 例如,128 是一个自除数,因为 128 % 1 == 0,128 ...

  • 自除数

    题目: 题目的理解: 先排除包含0,然后每一位进行取余。 python实现 提交 // END 一看抖音已白头啊

  • 自除数

    自除数 是指可以被它包含的每一位数除尽的数。 例如,128 是一个自除数,因为 128 % 1 == 0,128 ...

  • LeetCode题解之自除数

    自除数 题目描述 自除数 是指可以被它包含的每一位数除尽的数。 例如,128 是一个自除数,因为 128 % 1 ...

网友评论

      本文标题:2022-03-31 「728. 自除数」

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