Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // The challenge in this problem is in meeting its (arbitrary) constraints:
- // Do not convert into strings or manipulate strings at all.
- // Do not create any other data structures.
- // In particular, don't instantiate a new array.
- // The big-O of the solution should be O(n).
- //a,e,i,o,u
- //O(n^2) currently, in the case every letter is a vowel
- let vowelDoubler = (vowelArray) => {
- for (let i = 0; i < vowelArray.length; i ++) {
- let letter = vowelArray[i];
- if (letter === 'a') {
- vowelArray.splice(i,0,letter);
- i++;
- }
- else if (letter === 'e') {
- vowelArray.splice(i,0,letter);
- i++;
- }
- else if (letter === 'i') {
- vowelArray.splice(i,0,letter);
- i++;
- }
- else if (letter === 'o') {
- vowelArray.splice(i,0,letter);
- i++;
- }
- else if (letter === 'u') {
- vowelArray.splice(i,0,letter);
- i++;
- }
- }
- return vowelArray;
- };
- //TESTING
- let testArr = ['w','h','a','t',' ','o','n',' ','e','a','r','t','h',' ','a','r','e',' ','y','o','u',' ','t','a','l','k','i','n','g',' ','a','b','o','u','t','?'];
- let testArrRes = ['w','h','a','a','t',' ','o','o','n',' ','e','e','a','a','r','t','h',' ','a','a','r','e','e',' ','y','o','o','u','u',' ','t','a','a','l','k','i','i','n','g',' ','a','a','b','o','o','u','u','t','?'];
- let vowelArr = ['a', 'e', 'i', 'o', 'u'];
Add Comment
Please, Sign In to add comment