数组中的双指针
Posted aliencxl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组中的双指针相关的知识,希望对你有一定的参考价值。
我们把只包含质因子2、3和5的数称作丑数(Ugly Number)。
例如6、8都是丑数,但14不是,因为它包含质因子7。
求第n个丑数的值。
思路:定义三个指针,分别指向所在的最小值,每次取最小值;
class Solution { public: int getUglyNumber(int n) { int dp[n]; memset(dp,0,sizeof(dp)); dp[1] = 1; int t1= 1, t2 = 1, t3 = 1; for(int i = 2; i <= n; i++){ dp[i] = min({2*dp[t1],3*dp[t2],5*dp[t3]}); // cout <<dp[i]; if(dp[i]%2 == 0) t1++; if(dp[i]%3 == 0) t2++; if(dp[i]%5 == 0) t3++; } return dp[n]; } };
以上是关于数组中的双指针的主要内容,如果未能解决你的问题,请参考以下文章