Heim > Web-Frontend > js-Tutorial > Codewars – Duplikate zählen

Codewars – Duplikate zählen

Susan Sarandon
Freigeben: 2025-01-04 19:21:41
Original
314 Leute haben es durchsucht

Anreden.

Codewars - Counting Duplicates

Ich poste in dieser Serie Codewars-Herausforderungen und meinen Denkprozess. Ich verwende wann immer möglich JS und Node 18. Nur der Klarheit halber nutze ich sie fair.

Für die Herausforderung „Duplikate zählen“ beginne ich damit:

function duplicateCount(text){
  text = text.toString();
  let countTotal = {"max":0};
  let letter = '';
  for (let i=0 ; i < text.length ; i++){
    letter = text.at(i).toLowerCase();
    if (letter){
      countTotal[letter] = countTotal[letter] ? countTotal[letter]++ : 1;
      if (countTotal[letter] > countTotal["max"]){
        countTotal["max"] = countTotal[letter];
      }
    }
  }
  return countTotal["max"];
}
Nach dem Login kopieren

Scheint... wortreich. Ich frage mich, ob diese vielen Worte tatsächlich in die richtige Richtung zielen. Ich gebe Ihnen etwas Zeit, wenn Sie selbst nachdenken möchten.

3...

2...

1...

1/2...

1/4...

Ok, ich denke, das reicht. Nein. Der Slang aus der Bay Area hat seinen Weg ins Internet gefunden, also wenn ich darf: Es ist verdammt falsch.

Die Sache ist die, ich habe versucht herauszufinden, wie viele Duplikate des am häufigsten duplizierten Buchstabens vorhanden sind. Es stellt sich heraus, dass wir beantworten müssen, wie viele doppelte Typen es gibt. Groß- und Kleinschreibung wird nicht beachtet.

AbC -> 0 -> kein Buchstabe wiederholt sich
AbCC -> 1 -> „C“ wiederholt sich, egal wie oft
AbBCC -> 2 -> „b“ und „c“ wiederholen sich, egal wie oft oder in welcher Schreibweise

Wir können Objektliterale in JS nutzen, um für jeden Buchstaben einen Zähler zu erstellen. Dann könnte eine Eigenschaft „Wiederholungen“ sein, was ein Zähler wäre, der NUR dann hochgeht, wenn ein Buchstabe zweimal vorkommt.

if (countTotal[letter]==2){
        countTotal.repetitions++;
      }
Nach dem Login kopieren

Vollständige Lösung:

function duplicateCount(text){
  text = text.toString();
  let countTotal = {"repetitions": 0};
  let letter = '';
  for (let i=0 ; i < text.length ; i++){
    letter = text.at(i).toLowerCase();
    if (letter){
      (countTotal[letter] === undefined) ? countTotal[letter] = 0 : null;
      countTotal[letter]++;
      if (countTotal[letter]==2){
        countTotal.repetitions++;
      }
    }
  }
  return countTotal["repetitions"];
}
Nach dem Login kopieren

Hat eine Weile gedauert, es kann verbessert werden.

Pass auf dich auf. Wasser trinken???.

Zurück

Das obige ist der detaillierte Inhalt vonCodewars – Duplikate zählen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage