[劍指offer] 第一個只出現一次的字元[ Python]
題目要求:在一個字串(1<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置
解題思路:
1.找出字串中共有幾個不同的字元
2.找出僅出現過一次的字元,並獲取他們各自的索引
3.返回最小的索引
# -*- coding:utf-8 -*-
class Solution:def FirstNotRepeatingChar(self, s):
# write code here
if s:
res = []
s_list = list(set(s))
for i in s_list:
if s.count(i) == 1:
res.append(s.index(i))
return min(res)
else:
return -1
相關推薦
劍指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——第一個只出現一次的字元
這個題在劍指offer裡屬於常規題,主要看程式語言的運用的如何巧。 python 常規操作,用count計數,index輸出位置 class Solution(): def FirstNotRepeatingChar(self,s): if len(s)&
劍指offer-第一個只出現一次的字元
34.第一個只出現一次的字元 題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 解題思路:可新建一個數組,陣列大小為‘z’+1,陣列中的值為字串中每個字元出現的次數,然
劍指offer 第一個只出現一次的字元 python
題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 樣例 輸入google 輸出4 想法: 第一回遍歷一次生成字典,第二回遍歷找到值對應的inde
劍指offer:第一個只出現一次的字元
題目:字串中找到第一個只出現一次的字元。 在一個字串中找出第一個只出現一次的字元。如輸入:"abaccdeff",則輸出: b 思路: &n
劍指Offer-第一個只出現一次的字元(Java實現)
題目描述: 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回-1(需要區分大小寫). 思路分析: 方法一: 個人思路 比較粗暴,將字串轉換成字元陣列,按順序遍歷字元陣列。需要兩個指標,指
劍指offer-第一個只出現一次的字元-php
題目 在一個字串(1<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置。如果字串為空,返回-1 題解 用一個數組標記。。。 程式
[劍指offer] 第一個只出現一次的字元[ Python]
題目要求:在一個字串(1<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置解題思路:1.找出字串中共有幾個不同的字元2.找出僅出現過一次的字元,並獲取他們各自的索引3.返回最小的索引# -*- coding:utf-8 -*-
劍指offer34 第一個只出現一次的字元(java)
題目 在一個字串(1<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置 思路 建立一個雜湊表,第一次掃描的時候,統計每個字元的出現次數。第二次掃描的時候,如果該字元出現的次數為1,則返回這個字元的位置。 程式碼 public
第一個只出現一次字元的位置 牛客網 劍指Offer
第一個只出現一次字元的位置 牛客網 劍指Offer 題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回
劍指offer----陣列中只出現一次的數字
題目描述 一個整型數組裡除了兩個數字之外,其他的數字都出現了偶數次。請寫程式找出這兩個只出現一次的數字。 //所有數字異或,最後得到的是兩個只出現一次的數字異或的結果,從低位到高位 //找到第一異或為1的位,記下來,根據這個位,將原來的陣列分做兩部分,可解 cl
劍指offer-陣列中只出現一次的數字(陣列)
題目描述 一個整型數組裡除了兩個數字之外,其他的數字都出現了偶數次。請寫程式找出這兩個只出現一次的數字。 這題想到用map,類似於“陣列中出現次數超過一半的陣列”https://blog.csdn.net/Mr_xuexi/article/details/84555464 其中,data
劍指offer:陣列中只出現一次的數字(java)
題目:一個整型數組裡除了兩個數字之外,其他的數字都出現了兩次。請些程式找出這兩個只出現一次的數字。要求時間複雜度為O(n),空間複雜度為O(1). 如輸入陣列{2,4,3,6,3,2,5,5},因為只有4,6這兩個數字只出現一次,其他數字都出現了兩次,所以輸出4
劍指offer陣列中只出現一次的數字
class Solution { public: void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) { int flag = 1; in
劍指offer之第一個只出現一次的字元
1.題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 2.問題分析 第一次遍歷,統計每個字串出現的次數; 第二次遍歷,如果有那個字元出現次數為1,
劍指offer:(35)時間效率和空間效率的平衡 :第一個只出現一次的字元
在一個字串(1<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置。 package co.com.jianzhioffer; import java.util.HashMap; import java.util.Map; public
【Java】 劍指offer(50-2) 字元流中第一個只出現一次的字元 《劍指Offer》Java實現合集 《劍指Offer》Java實現合集
本文參考自《劍指offer》一書,程式碼採用Java語言。 更多:《劍指Offer》Java實現合集 題目 請實現一個函式用來找出字元流中第一個只出現一次的字元。例如,當從字元流中只讀出前兩個字元"go"時,第一個只出現一次的字元是'g'。當從該字元流中讀出前六個字元"go
劍指offer 面試題50:字元流中第一個只出現一次的字元
題目描述:請實現一個函式用來找出字元流中第一個只出現一次的字元。例如,當從字元流中只讀出前兩個字元"go"時,第一個只出現一次的字元是"g"。當從該字元流中讀出前六個字元“google"時,第一個只出現一次的字元是"l"。 解法: 使用雜湊表occurance[256] ; 初始化o