Given a string S
and a character C
, return an array of integers representing the shortest distance from the character C
in the string.
Example 1:
Input: S = "loveleetcode", C = ‘e‘ Output: [3, 2, 1, 0, 1, 0, 0, 1, 2, 2, 1, 0]
Note:
S
string length is in[1, 10000].
C
is a single character, and guaranteed to be in stringS
.- All letters in
S
andC
are lowercase.
class Solution: def shortestToChar(self, S, C): """ :type S: str :type C: str :rtype: List[int] """ S2=S[::-1] indexOfC=S.index(C) indexOfC2=S2.index(C) ans1=[] ans2=[] n=len(S) for i in range(n): if S[i]==C: ans1.append(0) indexOfC=i else: ans1.append(abs(i-indexOfC)) if S2[i]==C: ans2.append(0) indexOfC2=i else: ans2.append(abs(i-indexOfC2)) ans2=ans2[::-1] for i in range(n): if ans1[i]>ans2[i]: ans1[i]=ans2[i] return ans1
原文地址:https://www.cnblogs.com/chiyeung/p/9753492.html
时间: 2024-11-10 12:37:58