超级丑数

题目:

写一个程序来找第 n 个超级丑数。
超级丑数的定义是正整数并且所有的质数因子都在所给定的一个大小为 k 的质数集合内。
比如给你 4 个质数的集合 [2, 7, 13, 19], 那么 [1, 2, 4, 7, 8, 13, 14, 16, 19, 26, 28, 32] 是前 12 个超级丑数。
注意事项:

  • 永远都是超级丑数不管给的质数集合是什么。
  • 给你的质数集合已经按照升序排列。
  • 0 < k ≤ 100, 0 < n ≤ 10^6, 0 < primes[i] < 1000

样例:

给出 n = 6 和质数集合 [2, 7, 13, 19]。第 6 个超级丑数为 13,所以返回 13 作为结果。

思路:

丑数产生的规律:除了第一个数字,其余所有数字都是之前已有数字乘以任意一个在质数数组里的质数得到。
point数组需要好好想想。
clipboard.png

参考答案:

class Solution {
public:/** @param n: a positive integer* @param primes: the given prime list* @return: the nth super ugly number*/int nthSuperUglyNumber(int n, vector<int> &primes) {// write your code hereint len = primes.size();vector<int> point(len,0);//用于保存当前的位置,这个需要仔细想想vector<int> ugly(n,INT32_MAX);//不要用INT16_MAX,有些测试用例过不了ugly[0] = 1;for(int i=1; i<n; i++){for(int j=0; j<len; j++){ugly[i] = min(ugly[i],ugly[point[j]]*primes[j]);}for(int j=0; j<len; j++){if(ugly[i] == ugly[point[j]]*primes[j]){point[j]++;}}}return ugly[n-1];}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452967.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么要进行个人知识管理(PKM)

21世纪是一个知识爆炸的世纪&#xff0c;知识爆炸是指人类创造的知识,主要是自然科学知识,在短时期内以极高的速度增长起来。是人们对当前大量出现并飞速发展的各种知识现象所进行的夸张和描述。有人综合计算,全世界的知识总量,七到十年翻一番。这就是风行全球的摩登名词的意思…

Python中“if __name__=='__main__':”理解与总结

具体详解参考文献&#xff1a;https://www.cnblogs.com/chenhuabin/p/10118199.html

python中列表如何比较大小_如何比较python中的列表/列表?

所以你想要两个项目列表之间的区别。 first_list = [[Test.doc, 1a1a1a, 1111], [Test2.doc, 2b2b2b, 2222], [Test3.doc, 3c3c3c, 3333]] secnd_list = [[Test.doc, 1a1a1a, 1111], [Test2.doc, 2b2b2b, 2222], [Test3.doc, 8p8p8p, 9999], [Test4.doc, 4d4d4d, 4444]] 首先,…

NFC读卡------ci522

1、NFC及卡片 NFC是近距离无线通讯技术&#xff0c;是一种非接触式识别和互联技术&#xff0c;可以在移动设备、消费类电子产品、PC和智能控件工具间进行近距离无线通信。NFC提供了一种简单、触控式的解决方案&#xff0c;可以让消费者简单直观地交换信息、访问内容与服务。 …

java基础面试题:说说和的区别

&与&&都是逻辑与 不同的是&左右两边的判断都要进行&#xff0c;而&&是短路与&#xff0c;当&&左边条件为假则不用再判断右边条件&#xff0c;所以效率更高 例如&#xff0c;对于if(str ! null && !str.equals(“”))表达式&#xff0c…

codeforce 457DIV2 C题

题意 你需要构造一个n个点m条边的无向有权图&#xff0c;要求这个图的MST中边权的和与从1到n的最短路长度都为素数 分析 可以想到这样一种贪心&#xff0c;在i到i1直接连一条边&#xff0c;这样最短路和MST都会是同样的一些边。只要保证他们的和为素数就好&#xff0c;对于其他…

何必言精通——十年杂感

30虚岁了。这一、两年&#xff0c;有事没事之中口中经常念着李商隐那首《锦瑟》&#xff1a; 锦瑟无端五十弦&#xff0c;一弦一柱思华年。庄生晓梦迷蝴蝶&#xff1b;望帝春心托杜鹃。沧海月明珠有泪&#xff1b;蓝田日暖玉生烟。此情可待成追忆&#xff0c;只是当时已惘然。…

mysql 索引效果是否叠加_MySQL基础实用知识集合(二)

上期小编给大家汇总介绍了mysql的6个基础的知识点,下面继续给大家分享一下另外7个知识点&#xff1a;7、什么是死锁&#xff1f;怎么解决&#xff1f;死锁&#xff1a;两个或多个事务相互占用了对方的锁&#xff0c;就会一直处于等待的状态。常见的解决死锁的方法&#xff1a;(…

常用数据库端口号总结

关系型数据库&#xff1a; 1.Oracle数据库默认端口号为&#xff0c;1521&#xff1b; 2.MySQL数据库默认端口号为&#xff0c;3306&#xff1b; 3.SQLServer数据库默认端口号为&#xff0c;1433; 4.postgreSQL数据库默认端口号为&#xff0c;5432; NOSQL数据库&#xff1a; …

【附源码】为了帮助程序员谈恋爱,我做了这个APP

前段时间&#xff0c;21岁的我第一次开启了名为『恋爱』的副本&#xff0c;开始打名叫『女朋友』的BOSS&#xff0c;深感过程艰难&#xff0c;整个过程仿佛0级的菜鸡进入了布满世界迷雾的地图&#xff0c;只能小心翼翼才能平安通过。然而在打怪升级的过程中&#xff0c;偶然看见…

IP协议

IP协议只负责传送IP数据包&#xff0c;无法监视和控制网络中出现的一些问题&#xff0c;这些工作由Internet的控制协议来完成IP是T C P / I P协议族中最为核心的协议。所有的T C P、U D P、I C M P及I G M P数据都以I P数据报格式传输。它的特点如下:不可靠&#xff08;u n r e…

职场故事和感悟

1. 猎头乌龙事件 05年11月的时候&#xff0c;我做了一个招聘主管的职位&#xff0c;一位朋友T推荐了她的好友L。从条件上看人很合适&#xff0c;聪明肯干&#xff0c;就是资力浅些&#xff0c;如果工作努力应该提高很快。我与其它两个候选人一起推荐给了客户。L与其它两人一…

zbb20180415 cs 1.6 half-life launcher已停止工作

控制面板->系统->高级系统设置->高级->性能 设置->数据保护->为除下列选定程序之外的所有程序和服务启用->添加-> 找到你的CS客户端 选择就好了-》应用 -》确定转载于:https://www.cnblogs.com/super-admin/p/8849581.html

python形参中的:*args和**kwargs区别

详细参考文章&#xff1a; https://blog.csdn.net/u014513323/article/details/89450573 感谢楼主分享

gitlab修改用户密码_CRM用户模块(用户密码修改)

四 密码修改1 需求分析修改当前登陆用户的登陆密码2 页面原型3 流程图 4 编写ControllerResponseBodyRequestMapping("updatePwd")public MessageModel updatePwd(HttpServletRequest request, String oldPassword, String newPassword, String confirmPassword){Mes…

ICMP协议简介

ICMP是Internet Control Message Protocol&#xff0c;因特网控制报文协议。它是TCP/IP协议族的一个子协议&#xff0c;用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由器是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据&…

vue之vuex

vuex负责vue的数据管理和共享&#xff0c;适用于大型项目 安装vuex npm install vuex --save; 运用vuex 主要有五大金刚&#xff1a; export default new Vuex.Store({//$store为了让外部可以引用state,//数据存储mutations,//行为动作actions,//异步改变state状态,也就是提交m…

项目管理中的特殊———例外管理

概念 例外管理由管理学引入领导学&#xff0c;也就是指领导人应将主要精力和时间用来处理首次出现的、模糊随机、十分重要需要立即处理的非程序化问题。而对于决策对象反复出现的&#xff0c;决策者已有固定的或例行的程序来处理的问题&#xff0c;即常例&#xff0c;由于在职业…

mysql 5.6.23 源码包安装报错_CentOS6.5_64bit下编译安装MySQL-5.6.23

标签&#xff1a;************************************************************CentOS6.5_64bit下编译安装MySQL-5.6.23**************************************************************一、关闭防火墙chkconfig iptables offservice iptables stop二、下载mysql源码包&…