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

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

王林
王林nach vorne
2019-11-29 17:13:342886Durchsuche

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;
    }
}

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen