[821] Shortest Distance to a Character
https://leetcode.com/problems/shortest-distance-to-a-character/description/
- algorithms
- Easy (61.41%)
- Source Code: 821.shortest-distance-to-a-character.py
- Total Accepted: 33.8K
- Total Submissions: 53.6K
- Testcase Example: '"loveleetcode"\n"e"'
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 string S.
All letters in S and C are lowercase.
python
class Solution(object):
def shortestToChar(self, S, C):
"""
:type S: str
:type C: str
:rtype: List[int]
"""
if not S: return []
index = []
for idx, item in enumerate(S):
if item == C: index.append(idx)
result = []
for idx, item in enumerate(S):
result.append(self.find_closest(idx, index))
return result
def find_closest(self, target, nums):
return min(map(lambda x: abs(x - target), nums))