Givet en sträng, arrangera om tecknen i den givna strängen så att vokalerna och konsonanterna upptar den alternativa positionen. Om strängen inte kan ordnas om på önskat sätt skriv ut "ingen sådan sträng". Ordningen av vokaler med avseende på varandra och ordningen av konsonanter med avseende på varandra bör bibehållas.
Om mer än en önskad sträng kan bildas skriv ut den lexikografiskt mindre.
Exempel:
Input : geeks Output : gekes Input : onse Output : nose There are two possible outcomes 'nose' and 'ones'. Since 'nose' is lexicographically smaller we print it.
- Räkna antalet vokaler och konsonanter i en given sträng.
- Om skillnaden mellan antalet är mer än en returnera 'Ej möjligt'.
- Om det finns fler vokaler än konsonanter skriv ut den första vokalen först och upprepas för den återstående strängen.
- Om det finns fler konsonanter än vokaler skriv ut den första konsonanten först och upprepas för den återstående strängen.
- Om antalet är samma jämför första vokalen med första konsonanten och skriv ut den mindre först.
Genomförande:
C++
// C++ implementation of alternate vowel and // consonant string #include using namespace std; // 'ch' is vowel or not bool isVowel(char ch) { if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch =='u') return true; return false; } // create alternate vowel and consonant string // str1[0...l1-1] and str2[start...l2-1] string createAltStr(string str1 string str2 int start int l) { string finalStr = ''; // first adding character of vowel/consonant // then adding character of consonant/vowel for (int i=0 j=start; j<l; i++ j++) finalStr = (finalStr + str1.at(i)) + str2.at(j); return finalStr; } // function to find the required // alternate vowel and consonant string string findAltStr(string str) { int nv = 0 nc = 0; string vstr = '' cstr = ''; int l = str.size(); for (int i=0; i<l; i++) { char ch = str.at(i); // count vowels and update vowel string if (isVowel(ch)) { nv++; vstr = vstr + ch; } // count consonants and update consonant // string else { nc++; cstr = cstr + ch; } } // no such string can be formed if (abs(nv-nc) >= 2) return 'no such string'; // remove first character of vowel string // then create alternate string with // cstr[0...nc-1] and vstr[1...nv-1] if (nv > nc) return (vstr.at(0) + createAltStr(cstr vstr 1 nv)); // remove first character of consonant string // then create alternate string with // vstr[0...nv-1] and cstr[1...nc-1] if (nc > nv) return (cstr.at(0) + createAltStr(vstr cstr 1 nc)); // if both vowel and consonant // strings are of equal length // start creating string with consonant if (cstr.at(0) < vstr.at(0)) return createAltStr(cstr vstr 0 nv); // start creating string with vowel return createAltStr(vstr cstr 0 nc); } // Driver program to test above int main() { string str = 'geeks'; cout << findAltStr(str); return 0; }
Java // Java implementation of alternate vowel and // consonant string import java.util.*; class GFG { // 'ch' is vowel or not static boolean isVowel(char ch) { if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch =='u') return true; return false; } // create alternate vowel and consonant string // str1[0...l1-1] and str2[start...l2-1] static String createAltStr(String str1 String str2 int start int l) { String finalStr = ''; // first adding character of vowel/consonant // then adding character of consonant/vowel for (int i = 0 j = start; j < l; i++ j++) finalStr = (finalStr + str1.charAt(i)) + str2.charAt(j); return finalStr; } // function to find the required // alternate vowel and consonant string static String findAltStr(String str) { int nv = 0 nc = 0; String vstr = '' cstr = ''; int l = str.length(); for (int i = 0; i < l; i++) { char ch = str.charAt(i); // count vowels and update vowel string if (isVowel(ch)) { nv++; vstr = vstr + ch; } // count consonants and update consonant // string else { nc++; cstr = cstr + ch; } } // no such string can be formed if (Math.abs(nv - nc) >= 2) return 'no such string'; // remove first character of vowel string // then create alternate string with // cstr[0...nc-1] and vstr[1...nv-1] if (nv > nc) return (vstr.charAt(0) + createAltStr(cstr vstr 1 nv)); // remove first character of consonant string // then create alternate string with // vstr[0...nv-1] and cstr[1...nc-1] if (nc > nv) return (cstr.charAt(0) + createAltStr(vstr cstr 1 nc)); // if both vowel and consonant // strings are of equal length // start creating string with consonant if (cstr.charAt(0) < vstr.charAt(0)) return createAltStr(cstr vstr 0 nv); // start creating string with vowel return createAltStr(vstr cstr 0 nc); } // Driver code public static void main(String args[]) { String str = 'geeks'; System.out.println(findAltStr(str)); } } // This code is contributed by // Shashank_Sharma
Python 3 # Python implementation of alternate vowel # and consonant string # 'ch' is vowel or not def isVowel(ch): if(ch == 'a' or ch == 'e' or ch == 'i' or ch == 'o' or ch == 'u'): return True return False # create alternate vowel and consonant string # str1[0...l1-1] and str2[start...l2-1] def createAltStr(str1 str2 start l): finalStr = '' i = 0 # first adding character of vowel/consonant # then adding character of consonant/vowel for j in range(start l): finalStr = (finalStr + str1[i]) + str2[j] i + 1 return finalStr # function to find the required # alternate vowel and consonant string def findAltStr(str1): nv = 0 nc = 0 vstr = '' cstr = '' l = len(str1) for i in range(0 l): # count vowels and update vowel string if(isVowel(str1[i])): nv += 1 vstr = vstr + str1[i] # count consonants and update # consonant string else: nc += 1 cstr = cstr + str1[i] # no such string can be formed if(abs(nv - nc) >= 2): return 'no such string' # remove first character of vowel string # then create alternate string with # cstr[0...nc-1] and vstr[1...nv-1] if(nv > nc): return (vstr[0] + createAltStr(cstr vstr 1 nv)) # remove first character of consonant string # then create alternate string with # vstr[0...nv-1] and cstr[1...nc-1] if(nc > nv): return (cstr[0] + createAltStr(vstr cstr 1 nc)) # if both vowel and consonant # strings are of equal length # start creating string with consonant if(cstr[0] < vstr[0]): return createAltStr(cstr vstr 0 nv) return createAltStr(vstr cstr 0 nc) # Driver Code if __name__ == '__main__': str1 = 'geeks' print(findAltStr(str1)) # This code is contributed by Sairahul099
C# // C# implementation of alternate vowel and // consonant string using System; class GFG { // 'ch' is vowel or not static Boolean isVowel(char ch) { if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch =='u') return true; return false; } // create alternate vowel and consonant string // str1[0...l1-1] and str2[start...l2-1] static String createAltStr(String str1 String str2 int start int l) { String finalStr = ''; // first adding character of vowel/consonant // then adding character of consonant/vowel for (int i = 0 j = start; j < l; i++ j++) finalStr = (finalStr + str1[i]) + str2[j]; return finalStr; } // function to find the required // alternate vowel and consonant string static String findAltStr(String str) { int nv = 0 nc = 0; String vstr = '' cstr = ''; int l = str.Length; for (int i = 0; i < l; i++) { char ch = str[i]; // count vowels and update vowel string if (isVowel(ch)) { nv++; vstr = vstr + ch; } // count consonants and update consonant // string else { nc++; cstr = cstr + ch; } } // no such string can be formed if (Math.Abs(nv - nc) >= 2) return 'no such string'; // remove first character of vowel string // then create alternate string with // cstr[0...nc-1] and vstr[1...nv-1] if (nv > nc) return (vstr[0] + createAltStr(cstr vstr 1 nv)); // remove first character of consonant string // then create alternate string with // vstr[0...nv-1] and cstr[1...nc-1] if (nc > nv) return (cstr[0] + createAltStr(vstr cstr 1 nc)); // if both vowel and consonant // strings are of equal length // start creating string with consonant if (cstr[0] < vstr[0]) return createAltStr(cstr vstr 0 nv); // start creating string with vowel return createAltStr(vstr cstr 0 nc); } // Driver code public static void Main(String []args) { String str = 'geeks'; Console.WriteLine(findAltStr(str)); } } // This code is contributed by Princi Singh
JavaScript <script> // JavaScript implementation of alternate vowel and // consonant string // 'ch' is vowel or not function isVowel(ch) { if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch =='u') return true; return false; } // create alternate vowel and consonant string // str1[0...l1-1] and str2[start...l2-1] function createAltStr(str1 str2startl) { let finalStr = ''; // first adding character of vowel/consonant // then adding character of consonant/vowel for (let i=0 j=start; j<l; i++ j++) finalStr = (finalStr + str1[i] + str2[j]); return finalStr; } // function to find the required // alternate vowel and consonant string function findAltStr(str) { let nv = 0 nc = 0; let vstr = '' cstr = ''; let l = str.length; for (let i=0; i<l; i++) { let ch = str[i]; // count vowels and update vowel string if (isVowel(ch)) { nv++; vstr = vstr + ch; } // count consonants and update consonant // string else { nc++; cstr = cstr + ch; } } // no such string can be formed if (Math.abs(nv-nc) >= 2) return 'no such string'; // remove first character of vowel string // then create alternate string with // cstr[0...nc-1] and vstr[1...nv-1] if (nv > nc) return (vstr[0] + createAltStr(cstr vstr 1 nv)); // remove first character of consonant string // then create alternate string with // vstr[0...nv-1] and cstr[1...nc-1] if (nc > nv) return (cstr[0] + createAltStr(vstr cstr 1 nc)); // if both vowel and consonant // strings are of equal length // start creating string with consonant if (cstr.at(0) < vstr.at(0)) return createAltStr(cstr vstr 0 nv); // start creating string with vowel return createAltStr(vstr cstr 0 nc); } // Driver program to test above let str = 'geeks'; document.write(findAltStr(str)); // This code is contributed by Shinjan_Patra </script>
Produktion
gekes
Tidskomplexitet: På) där 'n' är längden på strängen
Hjälputrymme: O(n) där 'n' är längden på strängen.
Genom att hashing:
Tanken är att använda hashtabell för att lagra förekomsten av vokaler och konsonanter använd sedan den enkla brute force.
Steg för att lösa problemet:
1. förklara vektorn mp1 och mp2 för att lagra förekomsten och variabeln v och c för att lagra antalet vokaler och konsonanter.
2. iterera genom strängen och öka förekomsten av vokal och konsonanter i hashtabellen.
3. om den absoluta skillnaden mellan v och c är större än 1 i detta fall är sträng med alternativ vokal och konsonant inte möjlig så vi kommer att returnera 'no='' such='' string'.<='' p=''>
hashtabell för att lagra förekomsten av vokaler och konsonanter använd sedan den enkla brute force.
Steg för att lösa problemet:
1. förklara vektorn mp1 och mp2 för att lagra förekomsten och variabeln v och c för att lagra antalet vokaler och konsonanter.
2. iterera genom strängen och öka förekomsten av vokal och konsonanter i hashtabellen.
3. om den absoluta skillnaden mellan v och c är större än 1 i detta fall är sträng med alternativ vokal och konsonant inte möjlig så vi kommer att returnera 'no='' such='' string'.<='' p=''>4. deklarera variabel it1 it2 och i för att iterera genom vektorn för att hitta första vokal och konsonanter.
hashtabell för att lagra förekomsten av vokaler och konsonanter använd sedan den enkla brute force.Steg för att lösa problemet:
1. förklara vektorn mp1 och mp2 för att lagra förekomsten och variabeln v och c för att lagra antalet vokaler och konsonanter.
2. iterera genom strängen och öka förekomsten av vokal och konsonanter i hashtabellen.
javascript kommentar
3. om den absoluta skillnaden mellan v och c är större än 1 i detta fall är sträng med alternativ vokal och konsonant inte möjlig så vi kommer att returnera 'no='' such='' string'.<='' p=''>
5. medan it1
- vi kommer att öka den första iteratorn.
6. medan it2
- vi kommer att öka den andra iteratorn.
7. deklarera booleskt f för att lagra c är större än v eller inte för att kontrollera att antingen konsonanter kommer på första plats eller vokalen.
8. om v är lika med c:
- om f är sant s[i]=it2+'a' --mp2[it2] och iterera genom mp2 tills mp2[it2] är lika med noll och inkrementera it2 f=false .
- annan s[i]=it1+'a' --mp1[it1] och iterera genom mp1 tills mp1[it1] är lika med noll och inkrementera it1 f=true .
- ökning av i.
9. medan it1 är mindre än mp1.size() och it2 är mindre än mp2.size() och i är mindre än n:
10. kolla efter tillstånd där endast en vokal eller konsonant finns kvar.
11. returnera strängen.
Implementering av tillvägagångssättet:
C++// C++ implementation of alternate vowel and // consonant string #include using namespace std; string findAltStr(string s) { int n = s.size(); vector<int> mp1(26) mp2(26); // to store vowels and consonants int v = 0 c = 0; for (char ch : s) { if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') { // if it's vowel mp1[ch - 'a']++; v++; } else { // consonant mp2[ch - 'a']++; c++; } } if (abs(v - c) > 1) return 'no such string'; // if their diff is greater than one // then string with alternate vowel and // consonant cannot be made int it1 = 0 it2 = 0 i = 0; while (it1 < mp1.size() && mp1[it1] == 0) it1++; // to find first vowel while (it2 < mp2.size() && mp2[it2] == 0) it2++; // to find first consonant bool f = c > v; // if number of consonant is greater then // we will place consonant first else vowel if (v == c) { f = it1 > it2; // if both are equal then check which // is lexiographically smaller } while ((it1 < mp1.size() && it2 < mp2.size()) && i < n) { if (f) { s[i] = it2 + 'a'; --mp2[it2]; while (it2 < mp2.size() && mp2[it2] == 0) it2++; f = false; // this will trigger to place vowel // next } else { s[i] = it1 + 'a'; --mp1[it1]; while (it1 < mp1.size() && mp1[it1] == 0) it1++; f = true; // this will trigger to place // consonant next } ++i; } if (it1 != mp1.size()) s[i] = it1 + 'a'; // if one vowel left else if (it2 != mp2.size()) s[i] = it2 + 'a'; // if one consonant left return s; } // Driver program to test above int main() { string str = 'geeks'; cout << findAltStr(str); return 0; } // This code is contributed by Prateek Kumar Singh
Java // Java implementation of alternate vowel and // consonant string import java.util.*; public class GFG { static String findAltStr(String str) { char[] s = str.toCharArray(); int n = s.length; int[] mp1 = new int[26]; int[] mp2 = new int[26]; // to store vowels and consonants int v = 0 c = 0; for (char ch : s) { if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') { // if it's vowel mp1[ch - 'a']++; v++; } else { // consonant mp2[ch - 'a']++; c++; } } if (Math.abs(v - c) > 1) return 'no such string'; // if their diff is // greater than one // then string with // alternate vowel and // consonant cannot be // made int it1 = 0 it2 = 0 i = 0; while (it1 < mp1.length && mp1[it1] == 0) it1++; // to find first vowel while (it2 < mp2.length && mp2[it2] == 0) it2++; // to find first consonant boolean f = c > v; // if number of consonant is // greater then we will place // consonant first else vowel if (v == c) { f = it1 > it2; // if both are equal then check which // is lexiographically smaller } while ((it1 < mp1.length && it2 < mp2.length) && i < n) { if (f) { s[i] = (char)(it2 + 'a'); --mp2[it2]; while (it2 < mp2.length && mp2[it2] == 0) it2++; f = false; // this will trigger to place // vowel next } else { s[i] = (char)(it1 + 'a'); --mp1[it1]; while (it1 < mp1.length && mp1[it1] == 0) it1++; f = true; // this will trigger to place // consonant next } ++i; } if (it1 != mp1.length) s[i] = (char)(it1 + 'a'); // if one vowel left else if (it2 != mp2.length) s[i] = (char)(it2 + 'a'); // if one consonant left return String.valueOf(s); } // Driver program to test above public static void main(String[] args) { String str = 'geeks'; System.out.println(findAltStr(str)); } } // This code is contributed by Karandeep1234
C# // C# implementation of alternate vowel and // consonant string using System; class GFG { static string FindAltStr(string str) { char[] s = str.ToCharArray(); int n = s.Length; int[] mp1 = new int[26]; int[] mp2 = new int[26]; // to store vowels and consonants int v = 0 c = 0; foreach (char ch in s) { if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') { // if it's vowel mp1[ch - 'a']++; v++; } else { // consonant mp2[ch - 'a']++; c++; } } if (Math.Abs(v - c) > 1) return 'no such string'; // if their diff is // greater than one // then string with // alternate vowel and // consonant cannot be // made int it1 = 0 it2 = 0 i = 0; while (it1 < mp1.Length && mp1[it1] == 0) it1++; // to find first vowel while (it2 < mp2.Length && mp2[it2] == 0) it2++; // to find first consonant bool f = c > v; // if number of consonant is // greater then we will place // consonant first else vowel if (v == c) { f = it1 > it2; // if both are equal then check which // is lexiographically smaller } while ((it1 < mp1.Length && it2 < mp2.Length) && i < n) { if (f) { s[i] = (char)(it2 + 'a'); --mp2[it2]; while (it2 < mp2.Length && mp2[it2] == 0) it2++; f = false; // this will trigger to place // vowel next } else { s[i] = (char)(it1 + 'a'); --mp1[it1]; while (it1 < mp1.Length && mp1[it1] == 0) it1++; f = true; // this will trigger to place // consonant next } ++i; } if (it1 != mp1.Length) s[i] = (char)(it1 + 'a'); // if one vowel left else if (it2 != mp2.Length) s[i] = (char)(it2 + 'a'); // if one consonant left return new string(s); } // Driver program to test above public static void Main(string[] args) { string str = 'geeks'; Console.WriteLine(FindAltStr(str)); } } // This code is contributed by Pushpesh Raj.
Python3 def findAltStr(s): n = len(s) mp1 = [0]*26 mp2 = [0]*26 # to store vowels and consonants v = 0 c = 0 for ch in s: if ch in ['a' 'e' 'i' 'o' 'u']: # if it's vowel mp1[ord(ch) - ord('a')] += 1 v += 1 else: # consonant mp2[ord(ch) - ord('a')] += 1 c += 1 if abs(v - c) > 1: return 'no such string' # if their diff is greater than one # then string with alternate vowel and # consonant cannot be made it1 = 0 it2 = 0 i = 0 while it1 < len(mp1) and mp1[it1] == 0: it1 += 1 # to find first vowel while it2 < len(mp2) and mp2[it2] == 0: it2 += 1 # to find first consonant f = c > v # if number of consonant is greater then # we will place consonant first else vowel if v == c: f = it1 > it2 # if both are equal then check which # is lexiographically smaller new_str = ['']*n while it1 < len(mp1) and it2 < len(mp2) and i < n: if f: new_str[i] = chr(it2 + ord('a')) mp2[it2] -= 1 while it2 < len(mp2) and mp2[it2] == 0: it2 += 1 f = False # this will trigger to place vowel # next else: new_str[i] = chr(it1 + ord('a')) mp1[it1] -= 1 while it1 < len(mp1) and mp1[it1] == 0: it1 += 1 f = True # this will trigger to place # consonant next i += 1 if it1 != len(mp1): new_str[i] = chr(it1 + ord('a')) # if one vowel left elif it2 != len(mp2): new_str[i] = chr(it2 + ord('a')) # if one consonant left return ''.join(new_str) # Driver program to test above str = 'geeks' print(findAltStr(str))
JavaScript function findAltStr(s) { const n = s.length; const mp1 = new Array(26).fill(0); const mp2 = new Array(26).fill(0); // to store vowels and consonants let v = 0; let c = 0; for (const ch of s) { if (['a' 'e' 'i' 'o' 'u'].includes(ch)) { // if it's vowel mp1[ch.charCodeAt(0) - 'a'.charCodeAt(0)] += 1; v += 1; } else { // consonant mp2[ch.charCodeAt(0) - 'a'.charCodeAt(0)] += 1; c += 1; } } if (Math.abs(v - c) > 1) { return 'no such string'; // if their diff is greater than one // then string with alternate vowel and // consonant cannot be made } let it1 = 0; let it2 = 0; let i = 0; while (it1 < mp1.length && mp1[it1] == 0) { it1 += 1; // to find first vowel } while (it2 < mp2.length && mp2[it2] == 0) { it2 += 1; // to find first consonant } let f = c > v; // if number of consonant is greater then // we will place consonant first else vowel if (v === c) { f = it1 > it2; // if both are equal then check which // is lexiographically smaller } const new_str = new Array(n); while (it1 < mp1.length && it2 < mp2.length && i < n) { if (f) { new_str[i] = String.fromCharCode(it2 + 'a'.charCodeAt(0)); mp2[it2] -= 1; while (it2 < mp2.length && mp2[it2] === 0) { it2 += 1; } f = false; // this will trigger to place vowel // next } else { new_str[i] = String.fromCharCode(it1 + 'a'.charCodeAt(0)); mp1[it1] -= 1; while (it1 < mp1.length && mp1[it1] === 0) { it1 += 1; } f = true; // this will trigger to place // consonant next } i += 1; } if (it1 !== mp1.length) { new_str[i] = String.fromCharCode(it1 + 'a'.charCodeAt(0)); // if one vowel left } else if (it2 !== mp2.length) { new_str[i] = String.fromCharCode(it2 + 'a'.charCodeAt(0)); // if one consonant left } return new_str.join(''); } // Driver program to test above const str = 'geeks'; console.log(findAltStr(str));
Produktion
gekes
Tidskomplexitet: På)
Hjälputrymme: På)
Detta tillvägagångssätt bidrar med Prateek Kumar Singh (pkrsingh025).
hashtabell för att lagra förekomsten av vokaler och konsonanter använd sedan den enkla brute force.
Steg för att lösa problemet:
1. förklara vektorn mp1 och mp2 för att lagra förekomsten och variabeln v och c för att lagra antalet vokaler och konsonanter.
2. iterera genom strängen och öka förekomsten av vokal och konsonanter i hashtabellen.
3. om den absoluta skillnaden mellan v och c är större än 1 i detta fall är sträng med alternativ vokal och konsonant inte möjlig så vi kommer att returnera 'no='' such='' string'.<='' p=''> hashtabell för att lagra förekomsten av vokaler och konsonanter använd sedan den enkla brute force.
Steg för att lösa problemet:
1. förklara vektorn mp1 och mp2 för att lagra förekomsten och variabeln v och c för att lagra antalet vokaler och konsonanter.
2. iterera genom strängen och öka förekomsten av vokal och konsonanter i hashtabellen.
3. om den absoluta skillnaden mellan v och c är större än 1 i detta fall är sträng med alternativ vokal och konsonant inte möjlig så vi kommer att returnera 'no='' such='' string'.<='' p=''> hashtabell för att lagra förekomsten av vokaler och konsonanter använd sedan den enkla brute force.
Steg för att lösa problemet:
1. förklara vektorn mp1 och mp2 för att lagra förekomsten och variabeln v och c för att lagra antalet vokaler och konsonanter.
2. iterera genom strängen och öka förekomsten av vokal och konsonanter i hashtabellen.
3. om den absoluta skillnaden mellan v och c är större än 1 i detta fall är sträng med alternativ vokal och konsonant inte möjlig så vi kommer att returnera 'no='' such='' string'.<='' p=''> hashtabell för att lagra förekomsten av vokaler och konsonanter använd sedan den enkla brute force.
Steg för att lösa problemet:
1. förklara vektorn mp1 och mp2 för att lagra förekomsten och variabeln v och c för att lagra antalet vokaler och konsonanter.
2. iterera genom strängen och öka förekomsten av vokal och konsonanter i hashtabellen.
3. om den absoluta skillnaden mellan v och c är större än 1 i detta fall är sträng med alternativ vokal och konsonant inte möjlig så vi kommer att returnera 'no='' such='' string'.<='' p=''> hashtabell för att lagra förekomsten av vokaler och konsonanter använd sedan den enkla brute force.
Steg för att lösa problemet:
1. förklara vektorn mp1 och mp2 för att lagra förekomsten och variabeln v och c för att lagra antalet vokaler och konsonanter.
2. iterera genom strängen och öka förekomsten av vokal och konsonanter i hashtabellen.
3. om den absoluta skillnaden mellan v och c är större än 1 i detta fall är sträng med alternativ vokal och konsonant inte möjlig så vi kommer att returnera 'no='' such='' string'.<='' p=''> hashtabell för att lagra förekomsten av vokaler och konsonanter använd sedan den enkla brute force.
Steg för att lösa problemet:
1. förklara vektorn mp1 och mp2 för att lagra förekomsten och variabeln v och c för att lagra antalet vokaler och konsonanter.
2. iterera genom strängen och öka förekomsten av vokal och konsonanter i hashtabellen.
3. om den absoluta skillnaden mellan v och c är större än 1 i detta fall är sträng med alternativ vokal och konsonant inte möjlig så vi kommer att returnera 'no='' such='' string'.<='' p=''> Skapa frågesport