劍指Offer-50 字串中第一個只出現一次的字元
題目:
在字串中找出第一個只出現一次的字元。如輸入"abaccdeff",則輸出b。如果字串中不存在只出現一次的字元,返回#字元。
解答:
class Solution:
def firstNotRepeatingChar(self, s):
"""
:type s: str
:rtype: str
"""
d = {}
for ind, sym in enumerate(s):
if sym not in d:
d[ sym] = [ind]
else:
d[sym].append(ind)
minind = len(s)
ch = None
for i in d:
if(len(d[i]) == 1 and d[i][0] < minind):
minind = d[i][0]
ch = i
return ch if ch else '#'
相關推薦
劍指Offer-50 字串中第一個只出現一次的字元
題目: 在字串中找出第一個只出現一次的字元。如輸入"abaccdeff",則輸出b。如果字串中不存在只出現一次的字元,返回#字元。 解答: class Solution: def firstNotRepeatingChar(self, s): """
【劍指】面試題50 字串中第一個只出現一次的字元
演算法思想 我們可以考慮實現一個簡單的雜湊表,字元是一個長度為8的資料型別,因此共有256中可能。於是我們建立一個長度為256的陣列,每個字母根據其ASCII嗎值作為陣列的下標對應陣列的
劍指offer——(15)第一個只出現一次的字元 && 陣列中重複的數字 && 字元流中第一個不重複的字元
public class Solution { public int FirstNotRepeatingChar(String str) { if(str.length()<=0) return -1; char c[] = str.toC
劍指offer--找出字串中第一個只出現一次的字元(題面已經更新)C++
題目描述: 找出字串中第一個只出現一次的字元 輸入描述: 輸入一個非空字串 輸出描述: 輸出第一個只出現一次的字元,如果不存在輸出-1 示例1 輸入 asdfasdfo 輸出 ö 程式碼實現如下: #include<iostream>
找出一個字串中第一個只出現一次的字元
題目:在字串中找出第一個只出現一次的字元。如輸入 “abaccdeff”,則輸出b。 思路分析: (1)由於題目與字元出現的次數相關,那麼是不是可以統計每個字元在該字串中出現的次數?要達到這個目的,我們需要一個數據容器來存放每個字元出現的次數。在這個容器中可
查詢字串中第一個只出現一次的字元
考研的時候學習過雜湊函式,但這只是書本上的知識,簡單的理解,從來沒用過,也不知道怎麼用,直到學了第一堂演算法課,原來hash表可以用陣列模擬,統計數字或字元出現的次數。 程式碼如下: int CHash::getStuNum(int* data, int len, in
【Java】 劍指offer(50-2) 字元流中第一個只出現一次的字元 《劍指Offer》Java實現合集 《劍指Offer》Java實現合集
本文參考自《劍指offer》一書,程式碼採用Java語言。 更多:《劍指Offer》Java實現合集 題目 請實現一個函式用來找出字元流中第一個只出現一次的字元。例如,當從字元流中只讀出前兩個字元"go"時,第一個只出現一次的字元是'g'。當從該字元流中讀出前六個字元"go
劍指offer 面試題50:字元流中第一個只出現一次的字元
題目描述:請實現一個函式用來找出字元流中第一個只出現一次的字元。例如,當從字元流中只讀出前兩個字元"go"時,第一個只出現一次的字元是"g"。當從該字元流中讀出前六個字元“google"時,第一個只出現一次的字元是"l"。 解法: 使用雜湊表occurance[256] ; 初始化o
劍指offer 面試題50:字元流中第一個只出現一次的字元
題目描述:請實現一個函式用來找出字元流中第一個只出現一次的字元。例如,當從字元流中只讀出前兩個字元"go"時,第一個只出現一次的字元是"g"。當從該字元流中讀出前六個字元“google"時,第一個只出現一次的字元是"l"。 解法: 使用雜湊表occurance[256] ;
劍指Offer 字元流中第一個只出現一次的字元
題目: 請實現一個函式用來找出字元流中第一個只出現一次的字元。例如,當從字元流中只讀出前兩個字元”go”時,第一個只出現一次的字元是’g’。當從該字元流中讀出前六個字元”google”時,第一個只出現一次的字元是’l’。如果當前字元流沒有存在出現一次的字元,返回#字元。 樣例 輸入:“g
第一個只出現一次字元的位置 牛客網 劍指Offer
第一個只出現一次字元的位置 牛客網 劍指Offer 題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回
【每日一題】查詢一個字串中第一個只出現兩次的字元
題目:查詢一個字串中第一個只出現兩次的字元。比如:“abcdefabcdefabc”中第一個只出現兩次為‘d’,要求時間複雜度為O(N),空間複雜度為O(1) 解決方法:可以使用雜湊表統計每個字元出現的次數。因為字元只有256種可能,所以我們可以申請一個25
請實現一個函式用來找出字元流中第一個只出現一次的字元。
題目描述 請實現一個函式用來找出字元流中第一個只出現一次的字元。例如,當從字元流中只讀出前兩個字元"go"時,第一個只出現一次的字元是"g"。當從該字元流中讀出前六個字元“google"時,第一個只出現一次的字元是"l"。 輸出描述: 如果當前字元流沒有存在出現一次的字元,返回#字元。
【LeetCode & 劍指offer刷題】字串題1:50 第一個只出現一次的字元(387. First Unique Character in a String)
【LeetCode & 劍指offer 刷題筆記】目錄(持續更新中...) 387. First Unique Character in a String Given a string, find the first non-repeati
【劍指offer】面試題50:(字元流中)第一個只出現一次的字元【C++版本】
題目:字串中第一個只出現一次的字元。 在字串中找出第一個只出現一次的字元。如輸入"abaccdeff" "abaccdeff",則輸出′ b ′ ′b′。 解題思路: 1.使用雜湊表來記錄每個字元出現的次數,因為字元char char為8位,
【劍指offer{31-34}】整數中1出現的次數(從1到n整數中1出現的次數)、把陣列排成最小的數、醜數、第一個只出現一次的字元
整數中1出現的次數(從1到n整數中1出現的次數) 題目描述 求出1-13的整數中1出現的次數,並算出100-1300的整數中1出現的次數?為此他特別數了一下1~13中包含1的數字有1、10、11、
劍指Offer - 第一個只出現一次的字符位置
pid item tms cti ++ rank view gpo this https://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c?tpId=13&tqId=11187&tPag
劍指offer-第一個只出現一次的字符
題目 body HA 它的 log turn spa first 數組 題目描述 在一個字符串(1<=字符串長度<=10000,全部由字母組成)中找到第一個只出現一次的字符,並返回它的位置 解題思路 由於char類型一共有256種可能,所以開辟一個數組ha
劍指Offer-第一個只出現一次的字符位置
次數 第一個只出現一次的 nts 劍指offer 出現次數 urn for code 出現的次數 題目描述 在一個字符串(1<=字符串長度<=10000,全部由字母組成)中找到第一個只出現一次的字符,並返回它的位置 思路 思路一: 使用整型數組對出現次數進行統計
劍指offer之第一個只出現一次的字元
1.題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 2.問題分析 第一次遍歷,統計每個字串出現的次數; 第二次遍歷,如果有那個字元出現次數為1,