- Leetcode 3412. Find Mirror Score of a String
- 1. 解题思路
- 2. 代码实现
- 题目链接:3412. Find Mirror Score of a String
1. 解题思路
这一题就是一道典型的栈的题目,我们对每一个字符构造一个栈,然后考察每一个元素的mirror元素是否当前存在,存在的话就对其进行出栈操作,更新score,反之就将当前元素进行入栈即可。
2. 代码实现
给出python代码实现如下:
class Solution:
def calculateScore(self, s: str) -> int:
mem = defaultdict(list)
ans = 0
for i, ch in enumerate(s):
mirror = chr(25-(ord(ch)-ord('a')) + ord('a'))
if mem[mirror] != []:
j = mem[mirror].pop()
ans += i-j
else:
mem[ch].append(i)
return ans
提交代码评测得到:耗时130ms,占用内存20.3MB。