1. 程式人生 > >字串中第一個重複的字元

字串中第一個重複的字元

import java.util.HashMap;
import java.util.Map;

public class Main {

    public Character findFirstRepeatChar(String s) {
        Map<Character, Integer> map = new HashMap<Character, Integer>();
        Character c;
        for (int i = 0; i < s.length(); i++) {
            c = s.charAt(i);
            if (map.containsKey(c)) {
                return c;
            }
            map.put(c, 0);
        }//for
        return null;//這裡要返回null,不能返回c
    }//findFirstRepeatChar

    public static void main(String[] args) {
        Main main = new Main();
        System.out.println(main.findFirstRepeatChar("kabcd%12234"));//輸出2
    }
}

相關推薦

2015 去哪兒校招---字串第一重複字元

對於一個字串,請設計一個高效演算法,找到第一次重複出現的字元。 給定一個字串(不一定全為字母)A及它的長度n。請返回第一個重複出現的字元。保證字串中有重複字元,字串的長度小於等於500。 測試

字串第一重複字元

import java.util.HashMap; import java.util.Map; public class Main { public Character findFirst

【LeetCode 簡單題】85-字串第一唯一字元

宣告: 今天是第85道題。給定n,從 1 到 n 選擇一個數字。 你需要猜我選擇了哪個數字。以下所有程式碼經過樓主驗證都能在LeetCode上執行成功,程式碼也是借鑑別人的,在文末會附上參考的部落格連結,如果侵犯了博主的相關權益,請聯絡我刪除 (手動比心ღ( ´・ᴗ・`

如何找出字串第一重複字元,Java和Python的分別實現

遇到一個問題,網上有很多教程,在沒看的情況下,自己先寫了幾種方法,僅供參考: Python實現方式:(三種方法,執行效率有差異) # _*_ coding:utf-8 _*_ import time # 傳參方式 str = "=WUKVJPLKKPYBUI=JAOCFCJJIYKGN

python字串面試題:找出一個字串第一字母和最後一個字元第一重複,中間沒有重複且最長的子串

1.給出任意一個字串,列印一個最長子串字串及其長度,如果有相同長度的子字串,都要一起打印出來,該子字串滿足以下條件, 第一個字母和最後一個字元是第一次重複 這個子字串的中間字母沒有重複 這個子字串是滿足條件裡面的最長的 如: adsasadmasd 中滿足條件的是dmasd   im

查詢字串第一重複字元

題目要求: 找到字串中第一個不重複的字元,並按原字元顯示,要求可以區分大小寫,預設不區分,true 表示區分, false表示不區分大小寫 示例:輸入Abcad,輸出b; 輸入Abcad true ,輸出A; 輸入Abcad false, 輸出 b

找出給定字串第一重複字元

給定一串字串,找出其中第一個不重複的字元。 如:輸入”abcddcaeb1~soop”,輸出’e’ 方法一 思路: 定義list<char> store和list<char> storeDel,對輸入字串str進行遍歷,對st

【Java筆試題】輸出字串第一重複字元

1、題目 在一個字串中找到第一個只出現一次的字元。例如,輸入“abaccdeff”,則輸出b。 2、Java程式碼 public class RetStr { public static

C語言面試題:查詢字串第一重複字元

char findChar(char *s) { char *p,*q; p=q=s; while(*s != '\0') { while(*p++ != '\0')

劍指Offer-50 字串第一只出現一次的字元

題目: 在字串中找出第一個只出現一次的字元。如輸入"abaccdeff",則輸出b。如果字串中不存在只出現一次的字元,返回#字元。 解答: class Solution: def firstNotRepeatingChar(self, s): """

找到字串第一重複的元素

題目:在一個字串中找到第一個沒有重複元素的字元並返回。 例:輸入:"yellow"      返回:“y”   輸入:"tooth"   返回:“h”   輸入:“coco”   返回:“” 按照人類思維來判斷的話,比較該元素與後面的元素,如果相同,再比較

獲取一個字串第一只出現過一次的字元及其位置

分析: 首先我們需要統計得到所有字元出現的次數以及其位置,然後比對出現次數為1的字元的位置,最小的即所求 假設字串為: 'stringisastaringb' 解法一: def f

劍指offer--找出字串第一只出現一次的字元(題面已經更新)C++

題目描述: 找出字串中第一個只出現一次的字元 輸入描述: 輸入一個非空字串 輸出描述: 輸出第一個只出現一次的字元,如果不存在輸出-1 示例1 輸入 asdfasdfo 輸出 ö 程式碼實現如下: #include<iostream>

java實現--字串第一單獨出現的字元

需求:     給定一個由大寫字母組成的字串,返回第一個單獨出現的字母 分析:     1、思路一     建立HashMap集合,遍歷字串,將各個字母及對應的角標存到集合中,再次遍歷字串,看當前字元對應的角標和HashMap集合中的角標是否相同,如果相同就直接返回,如果不

【每日一題】查詢一個字串第一只出現兩次的字元

題目:查詢一個字串中第一個只出現兩次的字元。比如:“abcdefabcdefabc”中第一個只出現兩次為‘d’,要求時間複雜度為O(N),空間複雜度為O(1) 解決方法:可以使用雜湊表統計每個字元出現的次數。因為字元只有256種可能,所以我們可以申請一個25

找出字串第一重複的字母

昨天看到一個面試題,說是要在一個字串中找到第一個不重複的字元。 初始思路如下: 掃描一遍字串,生成一個連結串列,越早出現的字元越靠近連結串列頭,最後出現的在連結串列尾。每次從字串中掃描到一個字元後,在連結串列中搜索,找到則其計數加一,否則加入到連結串列尾。最後遍歷這個連結串

找出一個字串第一只出現一次的字元

題目:在字串中找出第一個只出現一次的字元。如輸入 “abaccdeff”,則輸出b。 思路分析: (1)由於題目與字元出現的次數相關,那麼是不是可以統計每個字元在該字串中出現的次數?要達到這個目的,我們需要一個數據容器來存放每個字元出現的次數。在這個容器中可

查詢字串第一只出現一次的字元

考研的時候學習過雜湊函式,但這只是書本上的知識,簡單的理解,從來沒用過,也不知道怎麼用,直到學了第一堂演算法課,原來hash表可以用陣列模擬,統計數字或字元出現的次數。 程式碼如下: int CHash::getStuNum(int* data, int len, in

【劍指】面試題50 字串第一只出現一次的字元

演算法思想        我們可以考慮實現一個簡單的雜湊表,字元是一個長度為8的資料型別,因此共有256中可能。於是我們建立一個長度為256的陣列,每個字母根據其ASCII嗎值作為陣列的下標對應陣列的

字串不包含重複字元的最長子串的長度

題: 已知一個字串,求這個字串中不包含重複字元的最長子串的長度,如abba返回2,aaaaabc返回3,bbbbbbb返回1. 解題思路: 藉助hashmap來解決,map的鍵key存放字串中出現的