この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。

BFE.devでのAI解答例 - JavaScript コーディング問題
145. 最も頻繁に出現する文字

以下のようなJavaScriptのコードで、指定された問題を解くことができます。

function count(s) {  let map = new Map();    for (let i = 0; i < s.length; i++) {    let c = s.charAt(i);    map.set(c, map.has(c) ? map.get(c)+1 : 1);  }    let maxCount = 0;  let result = [];  for (let [char, count] of map.entries()) {    if (count > maxCount) {      maxCount = count;      result = [char];    } else if (count === maxCount) {      result.push(char);    }  }    return result.length === 1 ? result[0] : result;}

この解法では、

  • 一回目のループで、文字列中の各文字の出現数をハッシュマップ(Map)に格納します。
  • 二回目のループで、ハッシュマップを走査し、最大の出現頻度を持つ文字を見つけます。
  • このとき、最大頻度と同じ数の出現頻度を持つ文字が複数あれば、配列に追加されます。
  • 配列内の文字の数が1なら、値を解答として返します。

この解法では、時間複雑度はO(n)(nは文字列の長さ)であり、空間複雑度はO(k)(kはユニークな文字の数)となります。