乍一看这题,我们立马会有这样的思路:
代码描述,应该很易懂 _

也就简简单单20行代码,但是这样会带来什么问题呢?
注意到左界限和右界限的可能差值为200000,
算法的时间复杂度为O(n²),这样肯定爆TLE!那么怎么来解决呢?
看这幅图:

看出什么问题来了吗?
是的,我们其实没必要那么笨拙地一个一个去检验,我们采用一种类似素数筛地方法,将不符合要求的数全部筛去。
以左界限2为例,哪些数应该被筛去呢?由图容易理解,筛去2所在的基址加上2的倍数所构成的下标对应的元素就好了。
3也同理:筛去3所在的基址加上3的倍数所构成的下标对应的元素就好了。
那循环到哪是个头呢?其实很简单,就是基址+倍数>右边界的时候就可以停了。
完整代码如下:

数组的大小开区间的长度,要记得加上1
双重for循环完成标记
最后统计那些没有被标记到的元素。

好懂吧 <_>

这里的思维方式,其实是把时空难以解决的问题简单化,利用“基址+偏移”的思想来将原问题等价转换。

喜欢我的话,就给我点个赞吧

欢迎关注数构算法Wechat公众号:Design of Algorithm

思维正好,何不踏歌之“丑数”相关推荐

  1. 20200329——剑指offer 面试题49:丑数

    第一种暴力算法 package question49_urgly_number;/*** @Classname Solution1* @Description TODO* @Date 2020/3/2 ...

  2. 比紫书优化,14行代码AC——例题 5-7 丑数(Ugly Numbers,UVa 136)——解题报告

    题意: 丑数是一些因子只有2,3,5的数.数列1,2,3,4,5,6,8,9,10,12,15--写出了从小到大的前11个丑数,1属于丑数.现在请你编写程序,找出第1500个丑数是什么. 没有输入 输 ...

  3. 丑数求解以及丑数的优化

    丑数: 丑数是指因子只有2,3,5的数 比如 6 因子2,3 比如 15 因子3,5 另外特别的,规定1为丑数 求第K个丑数? 最近在刷剑指offer的OJ时,在查找丑数的时候出现了超时的情况,特别记 ...

  4. php实现丑数,曾经绊倒我的 “超级丑数”

    点击 蓝色字体 关注,欢迎星标此号 既然来了,何不认真读完此文呢?每天多花20分钟,做一些别人不愿做的事,坚持下去,会有一个结果的.废话少说,通过此文,你将会学到如下知识: 学会列表和排序很难求解的场 ...

  5. *leetcode-313-超级丑数-medium

    题目描述 编写一段程序来查找第 n 个超级丑数. 超级丑数是指其所有质因数都是长度为 k 的质数列表 primes 中的正整数. 示例: 输入: n = 12, primes = [2,7,13,19 ...

  6. usaco ★Humble Numbers 丑数

    ★Humble Numbers 丑数 对于一给定的素数集合 S = {p1, p2, ..., pK}, 来考虑那些质因数全部属于 S 的数的集合.这个集合包括,p1, p1p2, p1p1, 和 p ...

  7. 剑指offer:丑数

    题目描述 把只包含质因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含质因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 解题思 ...

  8. 【剑指offer-Java版】34丑数

    丑数:返回第N个丑数 只包含因子 2 3 5的数称为丑数,第一个丑数是 1 采用辅助数组的方法,提高时间效率 – 下一个丑数一定是已有的丑数乘以2 或者 3 或者 5 得到的 public class ...

  9. java丑数算法_LintCode Java算法练习(4)-----丑数II

    题目:题目 1 = 2^0 * 3^0 * 5^0 2 = 2^1 * 3^0 * 5^0 3 = 2^0 * 3^1 *5^0 . . . 依次类推,这便是丑数 假设  uglyNumber = 2 ...

  10. AC日记——丑数 codevs 1246

    1246 丑数 USACO  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果 题目描述 Description 对于一给定的素数集合 ...

最新文章

  1. 反转链表JAVA算法_链表反转算法
  2. Dsure-HTML5网站前端开发框架,网页设计师福利
  3. 比特币现金在与比特币的技术竞争中走在了前列
  4. jquery对radio的操作汇总
  5. 3.3、自定义错误页面
  6. uniCloud服务空间免费云存储图床系统源码
  7. 江小白包装设计原型_江小白果立方系列包装设计 获奖作品欣赏【工业设计作品集】...
  8. Windows Server 2012之ISCSI目标服务器群集
  9. EZEMC测试软件_四种常见的EMC仿真软件介绍
  10. [Leetcode] Pascal's Triangle II
  11. linux下文件和目录的颜色表示
  12. fiddler抓包HTTPS请求
  13. NanoHTTPD接收post数据
  14. R语言:商业数据分析实例(4)【总结篇,回归】
  15. PR(Premiere) 鼓点节拍插件Beat Edit,打不开的原因
  16. zsh下brew安装
  17. 【机器学习】金融风控评分卡建模全流程!
  18. 使用mybatis注解实现模糊查询
  19. bzoj 2653: middle(陈立杰)
  20. Android——SRT字幕文件的下载、解压、转换、显示

热门文章

  1. SpringCloud 单Eureka简单例子consumer-provider
  2. android抽屉式listview,Android 抽屉效果的导航菜单实现
  3. 基于MATLAB的数字信号处理(5) FIR数字滤波器设计及软件实现
  4. 秒拍视频其实在你浏览器缓存里
  5. java 图片标注_怎么用java做一个图像细胞的标注测试的工具?,实现图片放大,框图,定位坐标?...
  6. 古方怡雪祛斑效果怎么样,实话实说!
  7. Chrome浏览器占用CPU资源过高(Software Reporter Tool)
  8. vs 2019 创建rdl报表
  9. python中星号怎么打出来_Python中的星号符号
  10. 计算机无法读取exe文件,电脑所有EXE文件都打不开的原因和多种解决方案