easy peasy squeasy dp
well the question is entirely based on previous results as like we know 1 vowel will always make only 1 combinaation no matter how many spaces are given, so we 
well the question is entirely based on previous results as like we know 1 vowel will always make only 1 combinaation no matter how many spaces are given, so we initialize entire dp with 1, now n are given spaces and 5 are number for character we can use (vowels) , further i  noticed n character at 1 space gives us n as answere and then merging both of them i saw every answere is sum of previous two \n\'\'\'\nclass Solution {\n    public int countVowelStrings(int n) {\n       int dp[][]=new int[n][5];\n        for(int i=0;i<n;i++)dp[i][0]=1;\n        for(int i=0;i<5;i++)dp[0][i]=i+1;\n        for(int i=1;i<n;i++){\n            for(int j=1;j<5;j++)dp[i][j]=dp[i-1][j]+dp[i][j-1];\n        }\n        return dp[n-1][4];\n    }\n}\n\'\'\'
['Dynamic Programming', 'Java']