题解 | #丑数#

丑数

https://www.nowcoder.com/practice/6aa9e04fc3794f68acf8778237ba065b

package main


/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param index int整型
 * @return int整型
 */
func GetUglyNumber_Solution(index int) int {
	// write code here
    if index<1{
        return 0
    }
	dp := make([]int, index+1)
	dp[1] = 1
	m2 := 1
	m3 := 1
	m5 := 1
	for i := 2; i <= index; i++ {
		for j := m2; j < i; j++ {
			if dp[j]*2 > dp[i-1] {
				m2 = j
				break
			}
		}
		for j := m3; j < i; j++ {
			if dp[j]*3 > dp[i-1] {
				m3 = j
				break
			}
		}
		for j := m5; j < i; j++ {
			if dp[j]*5 > dp[i-1] {
				m5 = j
				break
			}
		}
		next := min(dp[m5]*5, dp[m3]*3, dp[m2]*2)
		dp[i] = next
	}


	return dp[index]
}
func min(num1, num2, num3 int) int {
	less := num1
	if num2 < less {
		less = num2
	}
	if num3 < less {
		less = num3
	}
	return less
}

动态规划

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 11:29
点赞 评论 收藏
分享
07-02 10:39
门头沟学院 Java
Steven267:说点真实的,都要秋招了,还没有实习,早干嘛去了,本来学历就差,现在知道急了,而且你这个简历完全可以写成一页,劣势太大了,建议转测试
点赞 评论 收藏
分享
仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务