class Solution:
from math import fabs
def shortestToChar(self, s: str, c: str) -> List[int]:
pos = []
for i in range(len(s)):
if s[i] == c:
pos.append(i)
first = pos[0]
second = pos[0]
count = 0
ans = []
for i in range(len(s)):
a = int(fabs(i - first))
b = int(fabs(second - i))
if a == 0 or b == 0:
first = second
if count<len(pos)-1:
count+=1
second = pos[count]
ans.append(min(a, b))
return ans
Divisible | Three primes |
Coprimes | Cost of balloons |
One String No Trouble | Help Jarvis! |
Lift queries | Goki and his breakup |
Ali and Helping innocent people | Book of Potion making |
Duration | Birthday Party |
e-maze-in | Bricks Game |
Char Sum | Two Strings |
Anagrams | Prime Number |
Lexical Sorting Reloaded | 1514A - Perfectly Imperfect Array |
580A- Kefa and First Steps | 1472B- Fair Division |
996A - Hit the Lottery | MSNSADM1 Football |
MATCHES Playing with Matches | HRDSEQ Hard Sequence |
DRCHEF Doctor Chef | 559. Maximum Depth of N-ary Tree |
821. Shortest Distance to a Character | 1441. Build an Array With Stack Operations |