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

东营 网站建设谷歌chrome

东营 网站建设,谷歌chrome,做网站注册会员加入实名认证功能,如何做电子书下载网站题目: https://leetcode.cn/problems/ugly-number-ii/description/?envTypestudy-plan-v2&envIdselected-coding-interview 问题描述 LeetCode 264题要求找到第n个丑数。丑数是指只包含质因数2、3、5的正整数,且习惯上认为第一个丑数是1。例如&a…

题目:

https://leetcode.cn/problems/ugly-number-ii/description/?envType=study-plan-v2&envId=selected-coding-interview

问题描述

LeetCode 264题要求找到第n个丑数。丑数是指只包含质因数2、3、5的正整数,且习惯上认为第一个丑数是1。例如:

  • 前10个丑数是:1, 2, 3, 4, 5, 6, 8, 9, 10, 12
  • 输入:n = 10,输出:12

解题思路

要生成第n个丑数,可以使用动态规划的方法:

  1. 初始化:第一个丑数为1,即dp[1] = 1
  2. 三指针法:维护三个指针p2p3p5,分别记录当前乘以2、3、5后能得到的最小丑数的位置。
  3. 状态转移:每个新丑数都是由之前的某个丑数乘以2、3或5得到的,选择三者中的最小值作为下一个丑数,并更新对应的指针。

代码实现

class Solution {
public:int nthUglyNumber(int n) {vector<int> dp(n + 1);dp[1] = 1; // 第一个丑数是1int p2 = 1, p3 = 1, p5 = 1; // 初始指针都指向第一个丑数for (int i = 2; i <= n; i++) {int num2 = dp[p2] * 2;int num3 = dp[p3] * 3;int num5 = dp[p5] * 5;dp[i] = min(min(num2, num3), num5); // 取三者中的最小值// 更新指针if (dp[i] == num2) p2++;if (dp[i] == num3) p3++;if (dp[i] == num5) p5++;}return dp[n];}
};

代码解释

  1. 动态规划数组dp[i]表示第i个丑数。
  2. 三指针
    • p2:指向前一个乘以2后可能成为下一个丑数的位置。
    • p3:指向前一个乘以3后可能成为下一个丑数的位置。
    • p5:指向前一个乘以5后可能成为下一个丑数的位置。
  3. 状态转移
    • 每次生成新丑数时,选择dp[p2]*2dp[p3]*3dp[p5]*5中的最小值。
    • 如果选中某个值,则将对应的指针向后移动一位,确保不会重复计算。

复杂度分析

  • 时间复杂度:O(n),只需遍历一次数组。
  • 空间复杂度:O(n),需要存储前n个丑数。

通过这种方法,可以高效地生成第n个丑数,避免了暴力枚举的低效性。

http://www.dtcms.com/wzjs/135215.html

相关文章:

  • 网站建设培训南宁汕头网站建设
  • 昌邑住房和城乡建设局网站视频互联网推广选择隐迅推
  • 家谱用网站做营销推广seo
  • 嘉祥网站建设哪家便宜线上销售平台有哪些
  • 靖江有帮助做苏宁易购网站的公司吗站长之家网站介绍
  • 动易网站模板幽默软文经典案例300
  • net网站开发网络营销策略包括
  • 网站 禁止ping百度宁波营销中心
  • 做网站 数据库解封后中国死了多少人
  • 做自己照片视频网站网站排名优化培训哪家好
  • 做网站然后推广免费b站推广网站链接
  • wordpress建多个网站网站模板免费
  • 建立公司网站需要什么百度知道网页版进入
  • 舟山做网站百度账户托管
  • 微信自带小程序商城官网优化 报价
  • 设计必备网站四川网站推广公司
  • 阿里巴巴网站被关闭了要怎么做营销型网站案例
  • 长春火车站防疫要求seo推广主要做什么
  • 网站开发开发公司排名站长工具seo优化建议
  • 建设网站答辩情况跟我学seo
  • 定制高端网站建设报价qq营销软件
  • 专门做cg视频网站推广的公司
  • 网站建设成本明细工具站seo
  • wordpress插件按下载数百度seo手机
  • wordpress 模板 破解版sem 优化价格
  • 上海做高端网站制电商平台怎么做
  • 网站开发交付快速开发网站的应用程序
  • 邯郸做网站服务商saas建站
  • 怎样攻击网站2024免费网站推广大全
  • 网站建设科研申报书网购网站十大排名