2101. 引爆最多的炸弹;752. 打开转盘锁;1234. 替换子串得到平衡字符串

2101. 引爆最多的炸弹

核心思想:枚举+BFS。枚举每个炸弹最多引爆多少个炸弹,对每个炸弹进行dfs,一个炸弹能否引爆另一个炸弹是两个炸弹的圆心距离在第一个炸弹的半径之内。

2101. 引爆最多的炸弹;752. 打开转盘锁;1234. 替换子串得到平衡字符串_第1张图片

752. 打开转盘锁

核心思想:典型BFS,就像水源扩散一样,将'0000'放入q中,然后枚举'0000'每一位的上下变化放入q中,最后找到答案,难点在于如何得到一个数'2345'的变化数,这里的处理方法是写三个函数,get(x)表示得到x的变化数。

2101. 引爆最多的炸弹;752. 打开转盘锁;1234. 替换子串得到平衡字符串_第2张图片

1234. 替换子串得到平衡字符串

核心思想:滑动窗口。首先要读懂题目意思待替换子串是一个连续的串,然后搞懂这个之后要明白当替换字串外面的有一种字符大于m,你是无论如何是无法将这种字符变为m的,所以你需要保证窗口外面的字符都是小于等于m的,当满足这个条件,你可以把窗口缩小,然后只需要维护最小值即可。

2101. 引爆最多的炸弹;752. 打开转盘锁;1234. 替换子串得到平衡字符串_第3张图片

你可能感兴趣的:(算法,python)