📌  相关文章
📜  在其他位置计算带有辅音和元音的字符串

📅  最后修改于: 2021-05-04 15:44:55             🧑  作者: Mango

给定一个字符串str 。任务是找到所有可能的字符串数,这些字符串可以通过用给定字符串的字母替换“ $”来获得。
注意:字母的放置方式应使字符串在元音和辅音中始终交替出现,并且字符串必须始终以辅音开头。假定这样的字符串总是可能的,即,除了“ $”以外,不需要关心其他字符。
例子

Input: str = "y$s"
Output: 5
$ can be replaced with any of the 5 vowels.
So, there can be 5 strings.

Input: str = "s$$e$"
Output: 2205

方法:假定字符串将以辅音开头。因此,如果“ $”处于偶数位置(考虑从0开始的索引),则应该有辅音,否则应该有元音。另外,由于不需要关心“ $”以外的字符,即,将“ $”以外的字符正确地放置在保持交替的辅音和元音序列的字符串。让我们用一个例子来理解这个问题。

下面是上述方法的实现:

C++
// C++ implementation of above approach
#include 
 
using namespace std;
 
// Function to find the count of strings
int countStrings(string s)
{
    // Variable to store the final result
    long sum = 1;
 
    // Loop iterating through string
    for (int i = 0; i < s.size(); i++) {
 
        // If '$' is present at the even
        // position in the string
        if (i % 2 == 0 && s[i] == '$')
 
            //'sum' is multiplied by 21
            sum *= 21;
 
        // If '$' is present at the odd
        // position in the string
        else if (s[i] == '$')
 
            //'sum' is multiplied by 5
            sum *= 5;
    }
 
    return sum;
}
 
// Driver code
int main()
{
    // Let the string 'str' be s$$e$
    string str = "s$$e$";
 
    // Print result
    cout << countStrings(str) << endl;
    return 0;
}


Java
// Java implementation of above approach
 
import java.util.*;
import java.lang.*;
import java.io.*;
 
class GFG{
 
// Function to find the count of strings
static int countStrings(String s)
{
    // Variable to store the final result
    int sum = 1;
  
    // Loop iterating through string
    for (int i = 0; i < s.length(); i++) {
  
        // If '$' is present at the even
        // position in the string
        if (i % 2 == 0 && s.charAt(i) == '$')
  
            //'sum' is multiplied by 21
            sum *= 21;
  
        // If '$' is present at the odd
        // position in the string
        else if (s.charAt(i) == '$')
  
            //'sum' is multiplied by 5
            sum *= 5;
    }
  
    return sum;
}
  
// Driver code
public static void main(String args[])
{
    // Let the string 'str' be s$$e$
    String str = "s$$e$";
  
    // Print result
    System.out.println(countStrings(str));
}
}


Python 3
# Python 3 implementation of above approach
 
# Function to find the count of strings
def countStrings(s):
     
    # Variable to store the final result
    sum = 1
 
    # Loop iterating through string
    for i in range(len(s)):
 
        # If '$' is present at the even
        # position in the string
        if (i % 2 == 0 and s[i] == '$'):
 
            #'sum' is multiplied by 21
            sum *= 21
 
        # If '$' is present at the odd
        # position in the string
        elif(s[i] == '$'):
 
            # 'sum' is multiplied by 5
            sum *= 5
 
    return sum
 
# Driver code
if __name__ == "__main__":
     
    # Let the string 'str' be s$$e$
    str = "s$$e$"
 
    # Print result
    print(countStrings(str))
     
# this code is contributed by ChitraNayal


C#
// C# implementation of above approach
 
using System;
 
class GFG{
  
// Function to find the count of strings
static int countStrings(String s)
{
    // Variable to store the final result
    int sum = 1;
   
    // Loop iterating through string
    for (int i = 0; i < s.Length; i++) {
   
        // If '$' is present at the even
        // position in the string
        if (i % 2 == 0 && s[i] == '$')
   
            //'sum' is multiplied by 21
            sum *= 21;
   
        // If '$' is present at the odd
        // position in the string
        else if (s[i] == '$')
   
            //'sum' is multiplied by 5
            sum *= 5;
    }
   
    return sum;
}
   
// Driver code
public static void Main()
{
    // Let the string 'str' be s$$e$
    String str = "s$$e$";
   
    // Print result
    Console.WriteLine(countStrings(str));
}
}


PHP


Javascript


输出:
2205