Heim > Java > javaLernprogramm > Java implementiert die Suche nach dem ersten Zeichen, das nur einmal vorkommt

Java implementiert die Suche nach dem ersten Zeichen, das nur einmal vorkommt

王林
Freigeben: 2019-11-29 17:13:34
nach vorne
2955 Leute haben es durchsucht

Java implementiert die Suche nach dem ersten Zeichen, das nur einmal vorkommt

Problem:

Finden Sie das erste Zeichen, das nur einmal in einer Zeichenfolge vorkommt (0<=Stringlänge<=10000, alles aus Buchstaben zusammengesetzt) ​​und geben Sie es zurück seine Position, wenn nicht, gibt -1 zurück (Groß-/Kleinschreibung muss beachtet werden)

Empfohlene verwandte Video-Tutorials: Java-Online-Tutorials

Lösungsideen:

Die Anforderung an die Frage ist sehr klar: Suchen Sie nach dem Zählen einfach nach dem Zeichen mit der Anzahl 1, indem Sie die Zeichenfolge durchlaufen und zählen. Offensichtlich erfordert dies die Verwendung einer Hashmap. Der Schlüssel ist jedes Zeichen in der Zeichenfolge und der Wert ist die Häufigkeit, mit der dieses Zeichen in der Zeichenfolge vorkommt.

Der Code lautet wie folgt:

import java.util.LinkedHashMap;
public class Solution {
    public int FirstNotRepeatingChar(String str) {
        int len = str.length();
        LinkedHashMap<Character, Integer> map = new LinkedHashMap<>();
        for (int i = 0; i < len; i++) {
            char c = str.charAt(i);
            Integer val = map.get(c);
            map.merge(c, 1, (oldValue, newValue) -> oldValue + newValue);
        }
        Character resultKey = null;
        for (Character c : map.keySet()){
            if (map.get(c) == 1){
                resultKey = c;
                break;
            }
        }
        for (int i = 0 ;i < len; i++){
            if (str.charAt(i) == resultKey){
                return i;
            }
        }        
       return -1;
    }
}
Nach dem Login kopieren

Empfohlene verwandte Artikel und Tutorials: Java Quick Start

Das obige ist der detaillierte Inhalt vonJava implementiert die Suche nach dem ersten Zeichen, das nur einmal vorkommt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Aktuelle Ausgaben
Kann Java als Backend des Webs verwendet werden?
Aus 1970-01-01 08:00:00
0
0
0
Installieren Sie JAVA
Aus 1970-01-01 08:00:00
0
0
0
Java kann nicht installiert werden
Aus 1970-01-01 08:00:00
0
0
0
Ist das in der Java-Sprache?
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage