Question1: https://www.geeksforgeeks.org/next-greater-element/
Question2: String Replace Checker
Given a string and pattern, replace the repeated pattern with X.
Example 1:
Input: string = aaaa, pattern = aa
Output: X
Example 2:
Input: string = aaaaa, pattern = aa
Output: Xa
Example 3:
Input: string = aaXcvzaaabb, pattern = a
Output: XcvzXbb
Example 4:
Input: string = aXacvc, pattern = aa
Output: XcvzXbb
我的解法
def replace(str, pattern):
n = len(str)
p = len(pattern)
i = 0
j = p
replaceSet = []
while i<=n and j<=n:
if str[i:j] == pattern:
if replaceSet and replaceSet[-1] == 'X':
i+= p
j+= p
continue
else:
replaceSet.append('X')
i+= p
j+= p
else:
replaceSet.append(str[i])
i+= 1
j+= 1
replaceSet.append(str[i:])
return ''.join(replaceSet)