自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 用JavaScript实现Python的range迭代器

JavaScript没有Python那样丰富的魔法函数,就算用class来定义,也无法做到像Python那样丝滑的直接使用(每次用都要new一下),唯一的好处可能就是方便比较两个不同的range迭代器的状态(因为不能运算符重载,也只能是转成字符串比较),但讲实话这个功能在实际代码中应用确实很少。

2023-10-06 21:47:41 149 1

原创 Python3循环引用还是会自动垃圾回收的。

以前都听说Python循环引用会导致引用数无法清零,所以不能垃圾回收,会内存泄漏,需要删除引用关系或者用gc.collect()才能进行正常垃圾回收。但做了下实验,好像还是会自动回收循环引用的变量,在约44对循环引用变量时会首次清理,之后大约每产生200对的垃圾就会清一次,但也没清干净,总是会有残留上几个,而且听说了改__del__会影响垃圾回收,实质上也不会影响。进程内存监控,可以看出内...

2020-03-13 17:35:42 946

原创 5125. 不相交的握手

偶数个人站成一个圆,总人数为num_people。每个人与除自己外的一个人握手,所以总共会有num_people / 2次握手。将握手的人之间连线,请你返回连线不会相交的握手方案数。由于结果可能会很大,请你返回答案 模10^9+7后的结果。示例 1:输入:num_people = 2输出:1示例 2:输入:num_people = 4输出:2解释:总...

2019-11-17 14:26:42 397 1

原创 5110. 近义词句子

给你一个近义词表synonyms 和一个句子text,synonyms 表中是一些近义词对 ,你可以将句子text 中每个单词用它的近义词来替换。请你找出所有用近义词替换后的句子,按字典序排序后返回。示例 1:输入:synonyms = [["happy","joy"],["sad","sorrow"],["joy","cheerful"]],text = "I...

2019-11-17 14:22:54 294

原创 5109. 最小公共区域

给你一些区域列表regions ,每个列表的第一个区域都包含这个列表内所有其他区域。很自然地,如果区域X 包含区域Y ,那么区域X 比区域Y 大。给定两个区域region1和region2 ,找到同时包含这两个区域的最小区域。如果区域列表中r1包含r2和r3 ,那么数据保证r2 不会包含r3。数据同样保证最小公共区域一定存在。示例 1...

2019-11-17 14:21:40 171

原创 5108. 加密数字

给你一个非负整数 num ,返回它的「加密字符串」。加密的过程是把一个整数用某个未知函数进行转化,你需要从下表推测出该转化函数:示例 1:输入:num = 23输出:"1000"示例 2:输入:num = 107输出:"101100"提示:0 <= num <= 10^9题解:找规律完事class Solution: d...

2019-11-17 14:19:59 258

原创 5098. 树的直径

给你这棵「无向树」,请你测算并返回它的「直径」:这棵树上最长简单路径的 边数。我们用一个由所有「边」组成的数组 edges来表示一棵无向树,其中edges[i] = [u, v]表示节点u 和 v之间的双向边。树上的节点都已经用{0, 1, ..., edges.length}中的数做了标记,每个节点上的标记都是独一无二的。示例 1:输入:edges = [[0...

2019-11-03 15:20:55 837

原创 5097. 力扣排行榜

新一轮的「力扣杯」编程大赛即将启动,为了动态显示参赛者的得分数据,需要设计一个排行榜 Leaderboard。请你帮忙来设计这个Leaderboard 类,使得它有如下3 个函数:addScore(playerId, score):假如参赛者已经在排行榜上,就给他的当前得分增加score点分值并更新排行。假如该参赛者不在排行榜上,就把他添加到榜单上,并且将分数设置为score...

2019-11-03 14:59:10 477

原创 5096. 数组变换

首先,给你一个初始数组 arr。然后,每天你都要根据前一天的数组生成一个新的数组。第i天所生成的数组,是由你对第i-1天的数组进行如下操作所得的:假如一个元素小于它的左右邻居,那么该元素自增 1。假如一个元素大于它的左右邻居,那么该元素自减 1。首、尾元素 永不改变。过些时日,你会发现数组将会不再发生变化,请返回最终所得到的数组。示例 1:输入:[6,2,3,...

2019-11-03 14:39:34 224 1

原创 5115. 删除回文子数组

给你一个整数数组arr,每一次操作你都可以选择并删除它的一个 回文 子数组arr[i], arr[i+1], ..., arr[j]( i <= j)。注意,每当你删除掉一个子数组,右侧元素都会自行向前移动填补空位。请你计算并返回从数组中删除所有数字所需的最少操作次数。示例 1:输入:arr = [1,2]输出:2示例 2:输入:arr = [1,3,4,1...

2019-11-03 14:29:46 413

原创 5088. 等差数列中缺失的数字

有一个数组,其中的值符合等差数列的数值规律,也就是说:在0 <= i < arr.length - 1的前提下,arr[i+1] - arr[i]的值都相等。我们会从该数组中删除一个 既不是第一个 也不是最后一个的值,得到一个新的数组arr。给你这个缺值的数组arr,请你帮忙找出被删除的那个数。示例 1:输入:arr = [5,7,11,13]输...

2019-10-21 00:40:48 683

原创 5089. 安排会议日程

你是一名行政助理,手里有两位客户的空闲时间表:slots1 和 slots2,以及会议的预计持续时间duration,请你为他们安排合适的会议时间。「会议时间」是两位客户都有空参加,并且持续时间能够满足预计时间duration 的 最早的时间间隔。如果没有满足要求的会议时间,就请返回一个 空数组。「空闲时间」的格式是[start, end],由开始时间start和结束时...

2019-10-21 00:38:14 315

原创 5111. 分享巧克力

你有一大块巧克力,它由一些甜度不完全相同的小块组成。我们用数组sweetness来表示每一小块的甜度。你打算和K名朋友一起分享这块巧克力,所以你需要将切割K次才能得到 K+1块,每一块都由一些 连续的小块组成。为了表现出你的慷慨,你将会吃掉总甜度最小 的一块,并将其余几块分给你的朋友们。请找出一个最佳的切割策略,使得你所分得的巧克力总甜度最大,并返回这个 最大总甜度...

2019-10-20 19:07:46 2048 1

原创 5090. 抛掷硬币

有一些不规则的硬币。在这些硬币中,prob[i]表示第i枚硬币正面朝上的概率。请对每一枚硬币抛掷一次,然后返回正面朝上的硬币数等于target的概率。示例 1:输入:prob = [0.4], target = 1输出:0.40000示例 2:输入:prob = [0.5,0.5,0.5,0.5,0.5], target = 0输出:0.03125提...

2019-10-20 18:58:55 198

原创 Python,不定参数/多参数,柯里化

python不像js那样,函数可以有方便的tostring,所以必须得作一些特殊处理。方法一,纯函数法,需要加()作为终止。def add(*x): args = [*x] def _add(*y): if y: args.extend(y) return _add else: ...

2019-10-16 11:56:25 306 1

原创 LeetCode : 5073. 进击的骑士

5073.进击的骑士一个坐标可以从-infinity延伸到+infinity的无限大的棋盘上,你的骑士驻扎在坐标为[0, 0]的方格里。骑士的走法和中国象棋中的马相似,走 “日” 字:即先向左(或右)走 1 格,再向上(或下)走 2 格;或先向左(或右)走 2 格,再向上(或下)走 1 格。每次移动,他都可以按图示八个方向之一前进。现在,骑士需要前去...

2019-09-22 20:52:42 385

原创 LeetCode : 5071. 找出所有行中最小公共元素

5071.找出所有行中最小公共元素给你一个矩阵mat,其中每一行的元素都已经按递增顺序排好了。请你帮忙找出在所有这些行中最小的公共元素。如果矩阵中没有这样的公共元素,就请返回-1。示例:输入:mat = [[1,2,3,4,5],[2,4,5,8,10],[3,5,7,9,11],[1,3,5,7,9]]输出:5提示:1 <= ma...

2019-09-22 20:11:46 2448 1

原创 LeetCode:5072. 最多可以买到的苹果数量

5072.最多可以买到的苹果数量楼下水果店正在促销,你打算买些苹果,arr[i]表示第i个苹果的单位重量。你有一个购物袋,最多可以装5000单位重量的东西,算一算,最多可以往购物袋里装入多少苹果。示例 1:输入:arr = [100,200,150,1000]输出:4解释:所有 4 个苹果都可以装进去,因为它们的重量之和为 1450。示例 2:...

2019-09-22 20:07:24 549

原创 LeetCode : 5091. 建造街区的最短时间

5091.建造街区的最短时间你是个城市规划工作者,手里负责管辖一系列的街区。在这个街区列表中blocks[i] = t意味着第 i个街区需要t个单位的时间来建造。由于一个街区只能由一个工人来完成建造。所以,一个工人要么需要再召唤一个工人(工人数增加 1);要么建造完一个街区后回家。这两个决定都需要花费一定的时间。一个工人再召唤一个工人所花费的时间由整数s...

2019-09-22 19:56:33 364

原创 [L氏并查集] Python 列表法实现非递归并查集,轻松权重优化。

一般的并查集都是用递归或者新建一个类来实现,这里介绍一种用Python来实现的非递归非函数并查集,这个方法暂时未在其他地方见过,尤其是中文领域目前还未见过,很可能是搜索引擎无法搜索到正确内容的原因,所以不排除会有撞车的,LeetCode中文版上并查集的题目我基本都写了两种解,在那些题的题解里应该可以看到。(20190730)假设存在N个点存在连通关系E:N = 5, E= [[0, 1]...

2019-07-30 17:19:13 491 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除