Skip to content

[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))

Last updated: