- 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 = 0for i, ch in enumerate(s):mirror = chr(25-(ord(ch)-ord('a')) + ord('a'))if mem[mirror] != []:j = mem[mirror].pop()ans += i-jelse:mem[ch].append(i)return ans
提交代码评测得到:耗时130ms,占用内存20.3MB。