首页
学习
活动
专区
工具
TVP
发布

Bingo的深度学习杂货店

专栏作者
183
文章
150270
阅读量
43
订阅数
Python 多进程队列处理耗时操作的模版
requests.get(image_url).content 可以读取一个 image_url 中的内容,但是如果有多个 image_url,读取速度会比较慢。因此,可以利用多进程队列去处理。模板如下:
echobingo
2020-11-26
8310
几道暑期实习笔试题
DFS 回溯法,先判断组成三连对和组成顺子需要的次数,递归深度 k 就是次数。对于对子和单张的可以直接通过枚举数需要打多少次。可以在组成三连对和顺子的时候增加剪枝操作加快运算:如果构不成三连对或者顺子,则不用进行回溯。
echobingo
2020-08-28
1.2K0
2019夏令营笔试编程题
1、直接暴力 O(n^2), 只能通过 30% 的 case,pass。 2、时间复杂度为 O(n) 的做法: 做法:因为 ans = a[i] + a[j] - (j - i) = a[i] + a[j] + i - j = (a[i] + i) + (a[j] - j),在遍历一遍数组时,每次更新 ans 和 a[i] + i 的最大值,遍历结束后 ans 就是最终的结果。 注意:之所以这样划分,是因为 a[i] + i 的最大值可以在遍历的过程中更新。
echobingo
2020-08-28
3240
剑指offer【60~68】
动态规划。令 dp[n][6*n],其中 dp[i][j] 表示前 i 个骰子产生点数 j 的次数。则 dp[-1][1...6*n] 就是每一种点数的次数。点数的总次数为 6^n,然后再求概率即可。状态转移方程很好找:dp[i][j] += dp[i-1][j-k],其中 k 为点数 1~6。时间复杂度为 O(n*(6*n)*6),空间复杂度为 O(n*(6*n))。
echobingo
2019-12-20
3440
剑指offer【50~59】
排序数组,很明显二分查找,找到第一个 >= k 的元素索引以及第一个 > k 的元素索引,两者相减即为答案,即 lowerBound - upperBound。时间复杂度为 O(logn),空间复杂度为 O(1)。
echobingo
2019-12-20
3400
剑指offer【40~49】
时间复杂度为:插入为 O(logn),计算中位数为 O(1);空间复杂度:O(n)。
echobingo
2019-12-20
4290
剑指offer【30~39】
除了存储数据的栈 stack,再定义一个最小栈 minstack。minstack 的长度和 stack 保持同步,只不过其是一个递减栈。如 stack = [6,7,4,5,3,8],则 minstack = [6,6,4,4,3,3]。这样,在 pop 的时候,同时 pop 两个栈,不会因为删除最小值而在 minstack 中找不到。
echobingo
2019-12-20
3490
剑指offer【20~29】
方法1:使用正则表达式,格式为 import re,re.match(r"^...$", s) ,其中 ^ 表示匹配 s 的开始,$ 表示匹配 s 的结尾,... 就是自己写的表达式。匹配成功会返回一个对象,则为 True,否则为 False。
echobingo
2019-12-20
3020
剑指offer【10~19】
f(n) = f(n-1) + f(n-2) + ... + f(0),其中 f(i) 表示从第 i 层跳到第 n 层的跳法。化简的 f(n) = 2 * f(n-1),故为公比为 2 的等比数列,总跳法为 2 ^ (n-1)。
echobingo
2019-12-20
3660
剑指offer【03~09】
注意:这道题如果数据范围变为 [1, n],那么可以将其转化为使用快慢指针判断有环问题,和 Leetcode 【Two Pointers】287. Find the Duplicate Number 一模一样了。
echobingo
2019-12-20
3670
二分查找及其变形与Python的bisect模块的关系
1、binsearch(nums, target):标准的二分查找,找不到返回-1; 2、lowerbound(nums, target):查找第一个>=target的元素索引,找不到返回数组长度; 3、upperbound(nums, target):查找第一个>target的元素索引,找不到返回数组长度。
echobingo
2019-11-11
6590
判断一棵满二叉树是否为二叉搜索树
给定一棵满二叉树,判定该树是否为二叉搜索树,是的话打印 True,不是的话打印 False。
echobingo
2019-11-02
1.1K0
Leetcode【700、872、897、965、1022】
1、判断叶子的条件是 root.left == None and root.right == None,返回 [root.val]; 2、还要注意单子树的情况([1, 2] 或 [1, null, 2]),应该返回 [];
echobingo
2019-10-29
4710
Leetcode【429、559、589、590、669】
二叉树的最大深度为 max(self.maxDepth(root.left), self.maxDepth(root.right)) + 1,拓展到 N 叉树,只需要对于 root.children 的每一个孩子 child (for child in root.children),更新最大深度 ans = max(ans, self.maxDepth(child)),最后 ans + 1 就是答案。
echobingo
2019-10-29
3330
Leetcode【61、82、83、142、143、1171】
1、先计算链表长度 size,k = k % size,如果 k % size == 0,则不用移动,直接返回 head; 2、否则,需要将前 size - k 个结点移动到后面。因此只需要循环 size - k 次,找到新链表头部,然后进行指针的交换。最后返回新链表头即可。
echobingo
2019-10-29
4670
Leetcode【86、92、148、206】
这道题是给一个链表和整数 x,将小于 x 的数按位置顺序放在链表左侧,大于等于 x 的按位置顺序放在右侧。
echobingo
2019-10-29
3720
Leetcode【24、109、328、455、725】
这道题是给一个链表,相邻结点数值两两进行交换,要求不修改结点值且只能操作链表本身。
echobingo
2019-10-28
3580
Leetcode【817、876、1019】
直接将数组转化为集合,然后遍历一次链表。令 ans = 0,flag = True:
echobingo
2019-10-14
3780
Leetcode【56、670】
首先可以想到按照区间的起始点进行升序排序。假设合并后的区间保存在数组 ans 中。从左到右遍历各个区间 interval,会有以下 3 种情况:
echobingo
2019-10-12
4890
Leetcode【31、162】
这道题是给一个数组,表示一个排列。求比当前排列大的下一个排列。如果没有则返回最小排列。
echobingo
2019-10-09
3370
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
热点技术征文第五期
新风口Sora来袭,普通人该如何把握机会?
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档