LWC 59:728. Self Dividing Numbers

LWC 59:728. Self Dividing Numbers

传送门:728. Self Dividing Numbers

Problem:

A self-dividing number is a number that is divisible by every digit it contains. For example, 128 is a self-dividing number because 128 % 1 == 0, 128 % 2 == 0, and 128 % 8 == 0. Also, a self-dividing number is not allowed to contain the digit zero. Given a lower and upper number bound, output a list of every possible self dividing number, including the bounds if possible.

Example 1:

Input: left = 1, right = 22 Output: [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]

Note:

The boundaries of each input argument are 1 <= left <= right <= 10000.

思路: 非常直观,对每个num,进行拆分判断,合法加入集合,不合法忽略。

一版本:

    public List<Integer> selfDividingNumbers(int left, int right) {
        List<Integer> ans = new ArrayList<>();
        for (int i = left; i <= right; ++i) {
            if (valid(i)) {
                ans.add(i);
            }
        }
        return ans;
    }

    boolean valid(int num) {
        String value = Integer.toString(num);
        for (char c : value.toCharArray()) {
            if (c == '0') return false;
            else {
                if (num % (c - '0') != 0) return false;
            }
        }
        return true;
    }

二版本:

    public List<Integer> selfDividingNumbers(int left, int right) {
        List<Integer> ans = new ArrayList<>();
        for (int i = left; i <= right; ++i) {
            if (valid(i)) {
                ans.add(i);
            }
        }
        return ans;
    }

    boolean valid (int num) {
        int n = num;
        while (num != 0) {
            int c = num % 10;
            if (c == 0) return false;
            else {
                if (n % c != 0) return false;
            }
            num /= 10;
        }
        return true;
    }

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏GIS讲堂

结合Geotools实现百度09,国测局02和经纬度的相互转换

本文讲述在Java中,结合结合Geotools实现百度09,国测局02和经纬度shp数据的相互转换。

132
来自专栏数说戏聊

06.简单计算&数据标准化&数据分组1.简单计算2.数据标准化3.数据分组

通常在综合评价分析、聚类分析、因子分析、主成分分析等分析开展之前,消除各个变量由于量纲不同、自身变异或者数值相差较大所引起的误差。

911
来自专栏钱塘大数据

R语言的常用函数速查

一、基本 1.数据管理 vector:向量 numeric:数值型向量 logical:逻辑型向量character;字符型向量 list:列表 data....

2829
来自专栏ml

位运算的方法,小结

文章来源未知----再次声明为转载... 本文是针对使用位运算来实现一些方法,我们都知道位运算的代价比其他符号运算都低,所以当一个方法只使用位运算且运算次数与其...

36013
来自专栏灯塔大数据

每周学点大数据 | No.27高维外存查找结构——KD 树

No.27期 高维外存查找结构——KD 树 Mr. 王:以往我们在数据结构中进行的查找,都是查找某一个键值或者某一个区间内的值,这样的查找称之为一维查...

3448
来自专栏ml

HDUOJ-----2065"红色病毒"问题

"红色病毒"问题 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (...

30011
来自专栏数据结构与算法

洛谷P2863 [USACO06JAN]牛的舞会The Cow Prom

ng the other ends of her ropes (if she has any), along with the cows holding the...

3075
来自专栏数说戏聊

08.基本统计&分组&分布分析1.基本统计分析2.分组分析3.分布分析

描述性统计分析,用来概括事物整体状况以及事物间联系,即事物的基本特征,以发现内在规律的统计分析方法。

692
来自专栏HT

基于HTML5 Canvas 实现矢量工控风机叶轮旋转

之前在拓扑上的应用都是些静态的图元,今天我们将在拓扑上设计一个会动的图元——叶轮旋转。 先看看最后我们实现的效果:http://www.hightopo.com...

1928
来自专栏calmound

强连通专题

求割点(无向边): 所谓的割点,就是删除某个点,图便不连通了。  POJ  1523 #include<stdio.h> #include<string.h> ...

3418

扫码关注云+社区