Problem Statement
leetcode problem link
Brute Force [Accepted]
class Solution:
def hasSameDigits(self, s: str) -> bool:
curr = [int(c) for c in s]
while len(curr) > 2:
temp = []
for i in range(len(curr) - 1):
a = curr[i]
b = curr[i + 1]
new_digit = (a + b) % 10
temp.append(new_digit)
curr = temp[:]
return curr[0] == curr[1]
Editorial
class Solution:
def hasSameDigits(self, s: str) -> bool:
n = len(s)
s_list = list(s)
for i in range(1, n - 1):
for j in range(n - i):
digit1 = ord(s_list[j]) - ord("0")
digit2 = ord(s_list[j + 1]) - ord("0")
s_list[j] = chr(((digit1 + digit2) % 10) + ord("0"))
return s_list[0] == s_list[1]