Loading...
Python 的 heapq 模块提供了优先队列算法,但是 Python 不支持删除堆中某个元素,一种有效的解决方法是把需要删除的元素先保存起来,等到取队首(list[0])时,先判断队首(list[0])是不是要删除的元素。以力扣 218. 天际线问题 为例import heapq from collections import defaultdict class Solution: ...
lru_cache - least recently use cache这个装饰器实现了备忘的功能,是一项优化技术,把耗时的函数的结果保存起来,避免传入相同的参数时重复计算。None 表示保存无限个最近调用的结果from functools import lru_cache @lru_cache(None) def fac(n): print("fac",n)...
题目资源限制时间限制:1.0s 内存限制:256.0MB问题描述 Bike是个十分喜欢数学的聪明孩子。他发明了“可旋转数”,其灵感来自于142857。 正如你所见,142857是一个十分神奇的数,因为所有从它通过旋转得到的数都是它自己乘以1,2,3...,6(从1到数的长度)。旋转一个数就是将它的最后一位数字放到最前面。比如说,通过旋转12345你能够得到这些数:12345,51234...
Playing with String题目资源限制时间限制:1.0s 内存限制:256.0MB问题描述 两个小哥正在玩一个游戏。 两个小哥轮流行动,不能操作的人输。 游戏开始前裁判买老师会在方格纸上写下一个字符串,每个格子包含一个字母。 比如字符串"abacaba"长这样: 一个小哥的操作分这么几步: 1.这个小哥选择一张纸,我们称上面写着的字符串为t。注意一开始时只有一张可选...
Sereja and Squares题目资源限制时间限制:4.0s 内存限制:256.0MB问题描述 Sereja在平面上画了n个点,点i在坐标(i,0)。然后,Sereja给每个点标上了一个小写或大写英文字母。Sereja不喜欢字母"x",所以他不用它标记点。Sereja认为这些点是漂亮的,当且仅当: ·所有的点可以被分成若干对,使得每个点恰好属于一一对之中。 ·在每对点中,横坐标...