leetcode(71).263. Ugly Number

来源:互联网 发布:如何测试udp端口通不通 编辑:程序博客网 时间:2024/05/04 02:13
题意:

判断丑数。丑数是指1或者质数因子只包含2,3,5的数,也即是说包含其它质数因子的就不是丑数了。

初步分析:

也即是说,包含2,3,5以外的质数因子的数就不是丑数了(除1以外)。那么只要找到除了235的质因子就可以了。实现到最后有点问题。参考了讨论区的思路。基本都是只要有2,3,5因子就把这个因子给除掉,然后再来如果最后能除到1,代表只含2,3,5质因子。

我尝试的是逆向的思维,去找不是2,3,5的因子,这是正向的思维:如果质因子仅仅由2,3,5构成,那么用它们来除,最后一定能得到一。

小结:不管什么问题,对于正向和逆向的思路都思考下,推导下。想好了再动手(尤其数学题)

public class Solution {    public boolean isUgly(int num) {if (num == 0)return false;if (num == 1)return true;if (num % 2 == 0)return isUgly(num / 2);if (num % 3 == 0)return isUgly(num / 3);if (num % 5 == 0)return isUgly(num / 5);return false;}}


0 0
原创粉丝点击