1. 程式人生 > >python劍指offer系列第一個只出現一次的字元

python劍指offer系列第一個只出現一次的字元

題目:

在一個字串(1<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置

思路:

建立一個雜湊表即可,python用字典代替,但是是無序的,所以再遍歷一次字串

# -*- coding:utf-8 -*-
class Solution:
    def FirstNotRepeatingChar(self, s):
        if len(s) <= 0:
            return -1
        hash_dict = {}
        for  i in s:
            if i in hash_dict:
                hash_dict[i] += 1
            else:
                hash_dict[i] = 1
        for j in s:
            if hash_dict[j] == 1:
                return s.index(j)
        
        # write code here

相關推薦

pythonoffer系列第一出現字元

題目:在一個字串(1<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置思路:建立一個雜湊表即可,python用字典代替,但是是無序的,所以再遍歷一次字串# -*- coding:utf-8 -*- class Solution

offer第一出現字元

1.題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 2.問題分析 第一次遍歷,統計每個字串出現的次數; 第二次遍歷,如果有那個字元出現次數為1,

offer第一出現字元

時間限制:1秒 空間限制:32768K 熱度指數:200407 本題知識點: 字串 題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 思路1(Map) im

Offer第一出現字元

題目連結 題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 分析:簡單計數並

[offer] 34. 第一出現字元

題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 一次遍歷儲存到雜湊表 一次遍歷取Value為1的第一個字元的索引 cla

[offer] 34. 第一出現的字符

大小 返回 pin col value title repeat pub char 題目描述 在一個字符串(0<=字符串長度<=10000,全部由字母組成)中找到第一個只出現一次的字符,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 一次遍歷存儲到

offer-(第一出現字元

題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成) 中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 解題思路: 1、採用

offer第一出現字元位置

public class Solution { public int FirstNotRepeatingChar(String str) { int flag = -1; if(str.length() == 0) return flag;

offer--17.第一出現的字符

pes bject type tags ati 需要 時間限制 types label map默認對key進行排序,unordered_map不對鍵或值進行排序,但是也不是默認插入的順序 ------------------------------------------

Offer3:第一出現字元

題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 解題思路 使用HashMap集合

Offer32:第一出現字元

思路: 利用雜湊表,雜湊表的下標是字元的ASCII值,值為字元出現的次數。 # -*- coding:utf-8 -*- class Solution: def FirstNotRepeatingChar(self, s): # write code here #建立

offer系列 第一出現字元(Java)

連結 牛客:第一個只出現一次的字元 題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 思路 雜湊表遍歷計數 程式碼 import java

第一出現字元的位置 牛客網 Offer

第一個只出現一次字元的位置  牛客網 劍指Offer 題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回

Offer-56 陣列中出現的兩數字

題目: 一個整型數組裡除了兩個數字之外,其他的數字都出現了兩次。請寫程式找出這兩個只出現一次的數字。你可以假設這兩個數字一定存在。 樣例 輸入:[1,2,3,3,4,4] 輸出:[1,2] 解答: class Solution(object): def findNumsAppe

offer:陣列中出現的數字(python

題目描述一個整型數組裡除了兩個數字之外,其他的數字都出現了兩次。請寫程式找出這兩個只出現一次的數字。# -*- coding:utf-8 -*- class Solution: # 返回[a,b] 其中ab是出現一次的兩個數字 def FindNumsAppe

offer之陣列中出現的數字

1.題目描述 一個整型數組裡除了兩個數字之外,其他的數字都出現了偶數次。請寫程式找出這兩個只出現一次的數字。 2.問題分析 方法一: 可以使用map,統計每個數出現的次數,之後對兩個出現一次的數進行賦值 方法二: 這裡就數字的特性,首先我們需要知

offer 40. 陣列中出現的數字

原題 一個整型數組裡除了兩個數字之外,其他的數字都出現了偶數次。請寫程式找出這兩個只出現一次的數字。 Reference Answer 思路分析 直接利用python中的dict進行次數統計就好了,用空間換時間。 # -*- coding:utf-8 -*- class

offer】陣列中出現的數字

remove:刪除特定元素第一次出現的時候,返回的是刪除後的陣列 del:刪除指定索引的元素 del a[2],返回的是刪除後的陣列 pop:刪除指定索引的元素,返回的是刪除的元素 有一個問題就是我不知道判斷not in list 的時候O(n)的複雜度會不會影響 執

[offer] 40. 陣列中出現的數字

題目描述 一個整型數組裡除了兩個數字之外,其他的數字都出現了偶數次。請寫程式找出這兩個只出現一次的數字。 思路: 解法一: 雜湊表 class Solution { public: void Find

offer 第一出現字元 python

題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 樣例 輸入google 輸出4 想法: 第一回遍歷一次生成字典,第二回遍歷找到值對應的inde