leetcode 821 字元的最短距離

2021-08-31 18:30:50 字數 1082 閱讀 1531

近期一直在用python刷leetcode的題,**都提交到了github上了:

給定乙個字串s和乙個字元c。返回乙個代表字串s中每個字元到字串s中的字元c的最短距離的陣列。

示例 1:

輸入: s = "loveleetcode", c = 'e'

輸出: [3, 2, 1, 0, 1, 0, 0, 1, 2, 2, 1, 0]

說明:

字串s的長度範圍為[1, 10000]

c是乙個單字元,且保證是字串s裡的字元。 

sc中的所有字母均為小寫字母。

思路:第一步:遍歷一次把c在s中的索引全部找出;

第二步:遍歷一次s,同時遍歷到每乙個元素時都讓這個元素的索引減去list中的所有值,求絕對值最小。

時間複雜度:o(n) 

class solution(object):

def shortesttochar(self, s, c):

""":type s: str

:type c: str

:rtype: list[int]

"""list = self.indexchar(s,c)

result =

for i in range(len(s)):

return result

def indexchar(self,s,c):

"""找出s中c的所有下標索引

"""res =

if len(s) == 0 or (c not in s):

return -1

for i in range(len(s)):

if s[i] == c:

return res

Leetcode 821 字元的最短距離

給定乙個字串 s 和乙個字元 c。返回乙個代表字串 s 中每個字元到字串 s 中的字元 c 的最短距離的陣列。示例 1 輸入 s loveleetcode c e 輸出 3,2,1,0,1,0,0,1,2,2,1,0 說明 字串 s 的長度範圍為 1,10000 c 是乙個單字元,且保證是字串 s ...

LeetCode821 字元的最短距離

題目描述 給定乙個字串s和乙個字元c。返回乙個代表字串s中每個字元到字串s中的字元c的最短距離的陣列。注意 字串s的長度範圍為 1,10000 c是乙個單字元,且保證是字串s裡的字元。s和c中的所有字母均為小寫字母。示例 輸入 s loveleetcode c e 輸出 3,2,1,0,1,0,0,...

leetcode 821 字元的最短距離

給定乙個字串 s 和乙個字元 c。返回乙個代表字串 s 中每個字元到字串 s 中的字元 c 的最短距離的陣列。示例 1 輸入 s loveleetcode c e 輸出 3,2,1,0,1,0,0,1,2,2,1,0 說明 字串 s 的長度範圍為 1,10000 c 是乙個單字元,且保證是字串 s ...