JavaScript MaxChar Algorithm

stuxnat - Nov 28 '21 - - Dev Community

In my last few posts I've written about common interview questions I've come across. Today, another: MaxChar. This problem asks of a given string, to return the character that appears most frequently in the string.

To start, write a function that takes in a string, with a variable set to an empty string to keep track of the letter which appears the most. Another thing we will want to have is an object to keep track of all characters in a string, along with the number of times it appears:

function maxChar(string){
     let chars = {}
     let maxChar = ''
}
Enter fullscreen mode Exit fullscreen mode

The next thing to do is to iterate through the string using a for loop.

function maxChar(string){
     let chars = {}
     let maxChar = ''

     for (let char of string){
      let current = char 
  }
}

Enter fullscreen mode Exit fullscreen mode

Here, the char variable is used keep track of the current character in the iteration. Next, we'll want to increase the numerical value by 1 if the character is already included in the chars object. If it is not, it will be set to 1 if it is a new character.

function maxChar(string){
     let chars = {}
     let maxChar = ''

     for (let char of string){
      let current = char 
      char[current] = char[current] + 1 || 1 
  }
}
Enter fullscreen mode Exit fullscreen mode

The last step of this requires comparing current with maxChar to determine which one appears most often.

function maxChar(string){
     let chars = {}
     let maxChar = ''

     for (let char of string){
      let current = char 
      char[current] = char[current] + 1 || 1 
      if (maxChar === '' || chars[current] > chars[maxChar]) {
maxChar = current}
  }
return maxChar
}
Enter fullscreen mode Exit fullscreen mode
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player