LeetCode初級算法--字符串02:字符串中的第一個唯一字符
一、引子
這是由LeetCode官方推出的的經(jīng)典面試題目清單~
這個模塊對應(yīng)的是探索的初級算法~旨在幫助入門算法。我們第一遍刷的是leetcode推薦的題目。
二、題目
給定一個字符串,找到它的第一個不重復(fù)的字符,并返回它的索引。如果不存在,則返回 -1。
案例:
s = "leetcode"
返回 0.
s = "loveleetcode",
返回 2.
1、思路
首先我們可以想到這道題需要的是一個不重復(fù)的字符,我們順序找到第一個不重復(fù)的字符,把其索引存起來,返回最小的索引也就是第一個不重復(fù)的字符了。
注:使用count方法,會增加時間復(fù)雜度,所以我們用字典記錄各字符的索引。如果重復(fù)出現(xiàn),則索引值需要加上len(s),小于len(s)的那個索引就是我們求的值。
2、編程實(shí)現(xiàn)
class Solution(object):
def firstUniqChar(self, s):
"""
:type s: str
:rtype: int
"""
#算法超時
# res = []
# for i in s:
# if s.count(i) == 1:
# res.append(s.index(i))
# if len(res):
# return min(res)
# return -1
# 用字典記錄各字符的索引。如果重復(fù)出現(xiàn),則索引值需要加上len(s)
d = {}
for i in range(len(s)):
if s[i] not in d:
d[s[i]] = i
else:
d[s[i]] += len(s)
if len(s) and min(d.values()) < len(s) :
return min(d.values())
return -1
分享技術(shù),樂享生活:我們的公眾號計算機(jī)視覺這件小事每周推送“AI”系列資訊類文章,歡迎您的關(guān)注!
本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布!
審核編輯 黃昊宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
人工智能
+關(guān)注
關(guān)注
1821文章
50453瀏覽量
267506 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
67文章
8569瀏覽量
137356 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5613瀏覽量
124706
發(fā)布評論請先 登錄
相關(guān)推薦
熱點(diǎn)推薦
聚焦C81A-BW-LW65字符LCD模塊:設(shè)計與應(yīng)用全解析
聚焦C81A-BW-LW65字符LCD模塊:設(shè)計與應(yīng)用全解析 在電子設(shè)備的顯示領(lǐng)域,字符LCD模塊是一種常見且實(shí)用的顯示解決方案。今天,我們就來深入探討FocusLCDs.com推出
FocusLCDs C402A-BW-LW65字符LCD模塊技術(shù)解析
FocusLCDs C402A-BW-LW65字符LCD模塊技術(shù)解析 在電子設(shè)備的設(shè)計中,顯示屏是不可或缺的部分,字符LCD模塊以其簡單實(shí)用的特點(diǎn),廣泛應(yīng)用于各種設(shè)備中。今天我們來深入
FocusLCDs C204B-YTY-LW65字符LCD模塊詳解
四行上顯示二十個字符(20x4)。它由一個半透反射型LCD面板、一個內(nèi)置驅(qū)動IC和一
FocusLCDs C204A1-KW-XW65字符LCD模塊技術(shù)解析
FocusLCDs C204A1-KW-XW65字符LCD模塊技術(shù)解析 在電子設(shè)備的設(shè)計中,顯示屏是與用戶交互的重要窗口。今天我們來詳細(xì)解析FocusLCDs推出的C204A1 - KW
FocusLCDs C162D-FTW-LW65字符LCD模塊技術(shù)剖析
FocusLCDs C162D-FTW-LW65字符LCD模塊技術(shù)剖析 在電子設(shè)備的顯示領(lǐng)域,字符LCD模塊扮演著至關(guān)重要的角色。今天我們就來深入了解一下FocusLCDs公司
聚焦C162C-FTW-LW65字符LCD模塊設(shè)計與應(yīng)用
聚焦C162C-FTW-LW65字符LCD模塊設(shè)計與應(yīng)用 在電子設(shè)備的顯示領(lǐng)域,字符LCD模塊是一種常見且實(shí)用的顯示解決方案。今天,我們將深入探討FocusLCDs.com推出
求助 LabVIEW 字符串比較
請教大神 ,用一個字符串和多個字符串比較程序應(yīng)該怎么做。
比如:A字符串和B字符串組(B組字符串個數(shù)不定可以是
發(fā)表于 03-02 17:24
打開工程后工程中的字體沒有顯示,如字符串,數(shù)字等控件不能預(yù)覽顯示字體?
打開工程后工程中的字體沒有顯示,如字符串,數(shù)字等控件不能預(yù)覽顯示字體?
發(fā)表于 02-25 17:39
字符串控件與靜態(tài)字符串控件中預(yù)覽字符顯示亂碼,如何修改顯示正常?
字符串控件與靜態(tài)字符串控件中預(yù)覽字符顯示亂碼,如何修改顯示正常?
發(fā)表于 01-20 17:17
字符串關(guān)聯(lián)數(shù)字變量如何使用?我們的地址都是16位數(shù)據(jù),可以使用16位數(shù)字變量顯示字符串嗎?
字符串關(guān)聯(lián)數(shù)字變量如何使用?我們的地址都是16位數(shù)據(jù),可以使用16位數(shù)字變量顯示字符串嗎?
發(fā)表于 12-15 08:24
在Python中字符串逆序有幾種方式,代碼是什么
對于一個給定的字符串,逆序輸出,這個任務(wù)對于python來說是一種很簡單的操作,畢竟強(qiáng)大的列表和字符串處理的
harmony-utils之StrUtil,字符串工具類
harmony-utils之StrUtil,字符串工具類 harmony-utils 簡介與說明 [harmony-utils] 一款功能豐富且極易上手的HarmonyOS工具庫,借助眾多實(shí)用工具類
LeetCode初級算法-字符串02:字符串中的第一個唯一字符
評論