数组中的双指针

Posted aliencxl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组中的双指针相关的知识,希望对你有一定的参考价值。

62. 丑数

我们把只包含质因子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];
    }
};

 

以上是关于数组中的双指针的主要内容,如果未能解决你的问题,请参考以下文章

C++中的双指针向量

Letcode 上的双指针题--方便复习

使用 ActionBar 旋转 Android 的双片段

LeetCode的双指针解法合集(python)

LeetCode的双指针解法合集(python)

访问结构中的双指针