题解 | #丑数#
丑数
https://www.nowcoder.com/practice/6aa9e04fc3794f68acf8778237ba065b
package main /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param index int整型 * @return int整型 */ func GetUglyNumber_Solution( index int ) int { // write code here // 丑数公式: (2^x)*(3^y)*(5^z) if index < 7 { return index } var arr []int arr = append(arr, 1) p2, p3, p5 := 0, 0, 0 for i:=2; i<= index; i++ { newNum := min(arr[p2]*2, arr[p3]*3, arr[p5]*5) arr = append(arr, newNum) if newNum == arr[p2]*2 {p2 += 1} if newNum == arr[p3]*3 {p3 += 1} if newNum == arr[p5]*5 {p5 += 1} } return arr[len(arr)-1] } func min(x, y, z int) int { min := x if y < min { min = y } if z < min { min = z } return min }