iT邦幫忙

0

leetcode with python:387. First Unique Character in a String

  • 分享至 

  • xImage
  •  

題目:

Given a string s, find the first non-repeating character in it and return its index. If it does not exist, return -1.

給定一字串,找出第一個獨一無二的值,回傳它的index,若不存在則回傳-1

這題我選擇使用hash set

class Solution:
    def firstUniqChar(self, s: str) -> int:
        s1=set()
        
        for i in range(len(s)):
            if s[i] not in s1:
                if s[i] not in s[i+1:len(s)]:
                    return i
                else:
                    s1.add(s[i])
            
        return -1

將字串裡的字元一一確認
若在此字元之後的字串不存在此字元,回傳該字元index
檢測過的字元會放入集合s1,下次遇到相同字元就不進行檢測
若都無回傳,則回傳-1
最後執行時間51ms(faster than 99.88%)

那我們下題見


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言