Maison > Java > javaDidacticiel > Java implémente la recherche du premier caractère qui n'apparaît qu'une seule fois

Java implémente la recherche du premier caractère qui n'apparaît qu'une seule fois

王林
Libérer: 2019-11-29 17:13:34
avant
2954 Les gens l'ont consulté

Java implémente la recherche du premier caractère qui n'apparaît qu'une seule fois

Problème :

Trouver le premier caractère qui n'apparaît qu'une seule fois dans une chaîne (0<=longueur de chaîne<=10000, toutes composées de lettres) et renvoie sinon, sa position renvoie -1 (doit être sensible à la casse)

Tutoriels vidéo associés recommandés : Tutoriels en ligne Java

Idées de solutions :

L'exigence de la question est très claire, qui consiste à parcourir la chaîne et à compter les caractères. Après avoir compté, trouvez simplement le caractère avec un compte de 1. Évidemment, cela nécessite l'utilisation de hashmap, la clé est chaque caractère de la chaîne et la valeur est le nombre de fois que ce caractère apparaît dans la chaîne.

Le code est le suivant :

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;
    }
}
Copier après la connexion

Articles et tutoriels connexes recommandés : Java Quick Start

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
Impossible d'installer Java
Depuis 1970-01-01 08:00:00
0
0
0
Java peut-il être utilisé comme backend du Web ?
Depuis 1970-01-01 08:00:00
0
0
0
Installer JAVA
Depuis 1970-01-01 08:00:00
0
0
0
Aide : Données chiffrées JAVA Décryptage PHP
Depuis 1970-01-01 08:00:00
0
0
0
Est-ce en langage Java ?
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal