国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

20170307-leetcode-263-Ugly Number

2019-11-06 06:14:19
字體:
來源:轉載
供稿:網友

1.Description

Write a PRogram to check whether a given number is an ugly number.

Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 6, 8 are ugly while 14 is not ugly since it includes another prime factor 7.

Note that 1 is typically treated as an ugly number. 解讀 給定一個數,判斷該數字是否是ugly,ugly number的定義是:該數字的素因數(就是那種身上沒有一點肉了,再瘦不下來了的數字)如果是【2,3,5】之外的數字,那么不是ugly,否則是ugly,比如14的素因數有2,7,那么就不是ugly了,12的素因數是:2,3,就是ugly啦

2.Solution

#1.如果這個數小于1,返回,否#2.讓該數依次對【2,3,5】取余數#如果為0,把該數重新賦值,中間定義一個#標志,如果該標志不發生變化,說明前后#兩次的值不再發生變化,返回false,如果最后結果為1,返回trueclass Solution(object): def isUgly(self, num): if num<1:return False while 1: flag = 0 for prime in [2, 3, 5]: if num % prime == 0: flag = 1 num = num/prime if num == 1: return True if flag == 0: return False

或者簡寫成這樣的

class Solution(object): def isUgly(self, num): for p in 2, 3, 5: while num % p == 0 < num: num /= p return num == 1

再來一個遞歸版本的,這個效率達到了這里面的最高92.03%

#1.如果這個數小于1,返回,否#2.讓該數依次對【2,3,5】取余數#如果為0,把該數重新賦值,遞歸回去class Solution(object): def isUgly(self, num): if (num <= 0):return False; if (num == 1):return True; if num%2==0: return self.isUgly(num/2) if num%3==0: return self.isUgly(num/3) if num%5==0: return self.isUgly(num/5) return False
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海林市| 长治市| 广丰县| 巴林左旗| 台湾省| 兴海县| 海兴县| 东方市| 安义县| 巴彦县| 三门峡市| 长子县| 沙洋县| 汤原县| 新晃| 巴青县| 柯坪县| 合川市| 永顺县| 沙湾县| 晋宁县| 桐庐县| 富平县| 望谟县| 四子王旗| 永昌县| 卓资县| 庄河市| 怀来县| 盘山县| 哈巴河县| 甘南县| 独山县| 于都县| 吴江市| 万山特区| 通榆县| 东乌珠穆沁旗| 高邮市| 象州县| 灵丘县|