77 - 丑数
题目
编写一个程序判断给定的数是否为丑数。
丑数就是只包含质因数 2, 3, 5 的正整数。
示例 1:
输入: 6
输出: true
解释: 6 = 2 × 3
示例 2:
输入: 8
输出: true
解释: 8 = 2 × 2 × 2
示例 3:
输入: 14
输出: false
解释: 14 不是丑数,因为它包含了另外一个质因数 7。
说明:
是丑数。
输入不会超过 32 位有符号整数的范围: $[-2^{31}, 2^{31}-1]$
解答
就是说,判断一个数是否能被2、3、5乘起来咯
然后规定了输入整数范围,那么最快的速度就是枚举😂😂
直接除
作者:vailing
链接:https://leetcode-cn.com/problems/ugly-number/solution/lian-xu-pan-duan-zui-hao-by-vailing/
Runtime: 68 ms, faster than 79.32% of JavaScript online submissions for Ugly Number.
Memory Usage: 35.6 MB, less than 33.33% of JavaScript online submissions for Ugly Number.
Runtime: 4 ms, faster than 37.27% of Go online submissions for Ugly Number.
Memory Usage: 2.1 MB, less than 100.00% of Go online submissions for Ugly Number.
一次判断完
上面的做法,每次都要判断三个,就很浪费
这种做法能在一次判断完
作者:ge-lu 链接:https://leetcode-cn.com/problems/ugly-number/solution/0msjie-by-ge-lu-3/
Runtime: 0 ms, faster than 100.00% of Go online submissions for Ugly Number.
Memory Usage: 2.2 MB, less than 50.00% of Go online submissions for Ugly Number.
一下子快了很多
Runtime: 68 ms, faster than 79.32% of JavaScript online submissions for Ugly Number.
Memory Usage: 35.5 MB, less than 66.67% of JavaScript online submissions for Ugly Number.
来,全给你列出来了
全算出来,看看效果怎样
那么结果是啥呢?
那么速度怎样呢?
。。。我发现我看错了
不是231,而是$2^{31}$。
好吧。是枚举不了的了。。
顺便把go的也写了,还用了二分法。。然而由于枚举不完就算了吧。。
go没有现成的算法,只能手写
但是排序过的切片,可以用二分法查找啊。
Last updated
Was this helpful?