当前位置: 首页 > wzjs >正文

建设银行征信中心官方网站营销策略模板

建设银行征信中心官方网站,营销策略模板,佛山做网站建设,明星粉丝网站怎么做题目描述 我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。 示例: 说明: 1 是丑数。 n 不超过1690。 题解 动态规划法 根据题意,每个丑数都可以由其他较小的丑数通过乘以 2 或 3 或 5 得到…

题目描述

我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。
示例:
在这里插入图片描述
说明:

1 是丑数。
n 不超过1690。

题解

动态规划法

根据题意,每个丑数都可以由其他较小的丑数通过乘以 2 或 3 或 5 得到:

1. dp[i]表示第i个丑数的值
2. 使用三个指针p2,p3,p5,初始三个指针都指向0
  • p2, 指向1, 2, 3, 4, 5, 6中,还没使用乘2机会的丑数的位置。该指针的前一位已经使用完了乘以2的机会,本轮dp[p2]可以尝试乘2
  • p3, 指向1, 2, 3, 4, 5, 6中,还没使用乘3机会的丑数的位置。该指针的前一位已经使用完了乘以3的机会,本轮dp[p3]可以尝试乘3
  • p5, 指向1, 2, 3, 4, 5, 6中,还没使用乘5机会的丑数的位置。该指针的前一位已经使用完了乘以5的机会,本轮dp[p5]可以尝试乘5

算法步骤:

  1. 计算下一个素数可能的值
    dp[p2]*2,dp[p3]*3,dp[p5]*5中最小的值就是下一个素数的值
  2. 判断当前这个丑数是由原来的哪个丑数235得到的,此时这个指针用完了本次235的机会,找到对应指针,使下标++(下标可能不止一个,此时都要++)
  3. 返回dp[n-1]
class Solution {public int nthUglyNumber(int n) {int p2=0,p3=0,p5=0;int[] dp=new int[n];dp[0]=1;//i从1开始for(int i=1;i<n;i++){int n2 = dp[p2]*2;int n3 = dp[p3]*3;int n5 = dp[p5]*5;dp[i]=Math.min(Math.min(n2,n3),n5);//用完了本次*235的机会的指针可能不止一个,此时都要++if(dp[i]==n2) p2++;if(dp[i]==n3) p3++;if(dp[i]==n5) p5++;}return dp[n-1];}
}
http://www.dtcms.com/wzjs/345921.html

相关文章:

  • 拼多多的网站建设百度在线识别图片
  • 网站建设结束的售后服务新网域名注册查询
  • 免费网站建设公司代理青岛seo博客
  • 湛江模板建站平台湖南网站seo公司
  • 泡棉制品东莞网站建设免费网站友情链接
  • wordpress无法跳转正确页面seo搜索引擎优化期末考试
  • 门户网站建设方案ppt 百度文库爱链工具
  • 前端旅游网站行程怎么做百度公司招聘条件
  • php和织梦那个做网站好百度排名优化
  • 重庆梁平网站建设费用seo的主要分析工具
  • 网站建设知识文章福州排名seo公司
  • 定制型网站开发百度推广账号登录
  • 网站开发 -(广告)苏州网站
  • 广州网站建设第一公司业务推广公司
  • 专业国外网站建设seo关键词优化外包公司
  • 云南旅游网站建设运营和营销是一回事吗
  • 汕头市公司网站建设多少钱成都网站建设方案外包
  • 网站使用的主色调百度广告联盟平台的使用知识
  • jquery 做网站曼联目前积分榜
  • 网站建设与管理岗位怎么找一手app推广代理
  • 网站建设定制设计深圳市前十的互联网推广公司
  • 做网站注意设么沧州网站建设
  • 阳江招聘网丰多采seo标签怎么优化
  • 亳州企业网站建设外贸找客户有什么网站
  • 网站建设的域名注册南京seo公司
  • word网站链接怎么做排名优化公司哪家效果好
  • 房产网站怎么做异地楼盘手机百度app下载安装
  • 网站备案 信息安全管理协议百度搜索推广的定义
  • 想做企业网站优化加速
  • wordpress企业主题自适应seo网站关键词排名软件