Ugly Number II

来源:互联网 发布:淘宝购礼品盒 编辑:程序博客网 时间:2024/05/17 03:37

记录一下用Index代替list的思想,非常简洁,节省空间

class Solution {public://求三个数的最小值int min(int a, int b, int c) {int minNum = a > b ? b : a;return minNum > c ? c : minNum;}//求第N个丑数int nthUglyNumber(int n) {vector<int> ugly(n,0);ugly[0] = 1;int factor2 = 2, factor3 = 3, factor5 = 5;int index2, index3, index5;index2 = index3 = index5 = 0;for (int i = 1; i < n; i++) {int minNum = min(factor2, factor3, factor5);ugly[i] = minNum;if (factor2 == minNum)factor2 = 2 * ugly[++index2];if (factor3 == minNum)factor3 = 3 * ugly[++index3];if (factor5 == minNum)factor5 = 5 * ugly[++index5];}return ugly[n - 1];}};


0 0