echobingo

LV0
发表了文章

几道暑期实习笔试题

DFS 回溯法,先判断组成三连对和组成顺子需要的次数,递归深度 k 就是次数。对于对子和单张的可以直接通过枚举数需要打多少次。可以在组成三连对和顺子的时候增加剪...

echobingo
发表了文章

2019夏令营笔试编程题

1、直接暴力 O(n^2), 只能通过 30% 的 case,pass。 2、时间复杂度为 O(n) 的做法: 做法:因为 ans = a[i] + a[j...

echobingo
发表了文章

剑指offer【60~68】

动态规划。令 dp[n][6*n],其中 dp[i][j] 表示前 i 个骰子产生点数 j 的次数。则 dp[-1][1...6*n] 就是每一种点数的次数。点...

echobingo
Python编程算法
发表了文章

剑指offer【50~59】

排序数组,很明显二分查找,找到第一个 >= k 的元素索引以及第一个 > k 的元素索引,两者相减即为答案,即 lowerBound - upperBound。...

echobingo
Python二叉树编程算法
发表了文章

剑指offer【40~49】

时间复杂度为:插入为 O(logn),计算中位数为 O(1);空间复杂度:O(n)。

echobingo
Python编程算法
发表了文章

剑指offer【30~39】

除了存储数据的栈 stack,再定义一个最小栈 minstack。minstack 的长度和 stack 保持同步,只不过其是一个递减栈。如 stack = [...

echobingo
文件存储二叉树编程算法
发表了文章

剑指offer【20~29】

方法1:使用正则表达式,格式为 import re,re.match(r"^...$", s) ,其中 ^ 表示匹配 s 的开始,$ 表示匹配 s 的结尾,.....

echobingo
Python编程算法二叉树正则表达式
发表了文章

剑指offer【10~19】

f(n) = f(n-1) + f(n-2) + ... + f(0),其中 f(i) 表示从第 i 层跳到第 n 层的跳法。化简的 f(n) = 2 * f(...

echobingo
编程算法Python
发表了文章

剑指offer【03~09】

注意:这道题如果数据范围变为 [1, n],那么可以将其转化为使用快慢指针判断有环问题,和 Leetcode 【Two Pointers】287. Find t...

echobingo
二叉树编程算法
发表了文章

二分查找及其变形与Python的bisect模块的关系

1、binsearch(nums, target):标准的二分查找,找不到返回-1; 2、lowerbound(nums, target):查找第一个>=ta...

echobingo
编程算法
订阅了专栏

腾讯云自媒体分享计划

3 文章3.4K 关注者
关注了用户

腾讯云自媒体分享计划

腾讯 · 产品运营 (已认证)

申请条件:至少有 20 篇或以上符合投稿要求可迁入腾讯云专栏的原创技术文章。

3 文章0 回答3.4K 关注者
发表了文章

判断一棵满二叉树是否为二叉搜索树

给定一棵满二叉树,判定该树是否为二叉搜索树,是的话打印 True,不是的话打印 False。

echobingo
二叉树编程算法
发表了文章

Leetcode【700、872、897、965、1022】

1、判断叶子的条件是 root.left == None and root.right == None,返回 [root.val]; 2、还要注意单子树的情况...

echobingo
Python二叉树编程算法
发表了文章

Leetcode【429、559、589、590、669】

二叉树的最大深度为 max(self.maxDepth(root.left), self.maxDepth(root.right)) + 1,拓展到 N 叉树,...

echobingo
编程算法Python
发表了文章

Leetcode【61、82、83、142、143、1171】

1、先计算链表长度 size,k = k % size,如果 k % size == 0,则不用移动,直接返回 head; 2、否则,需要将前 size - ...

echobingo
Python编程算法
发表了文章

Leetcode【86、92、148、206】

这道题是给一个链表和整数 x,将小于 x 的数按位置顺序放在链表左侧,大于等于 x 的按位置顺序放在右侧。

echobingo
Python编程算法
发表了文章

Leetcode【24、109、328、455、725】

这道题是给一个链表,相邻结点数值两两进行交换,要求不修改结点值且只能操作链表本身。

echobingo
Python编程算法
发表了文章

Leetcode【817、876、1019】

直接将数组转化为集合,然后遍历一次链表。令 ans = 0,flag = True:

echobingo
Python编程算法
发表了文章

Leetcode【56、670】

首先可以想到按照区间的起始点进行升序排序。假设合并后的区间保存在数组 ans 中。从左到右遍历各个区间 interval,会有以下 3 种情况:

echobingo
编程算法

个人简介

个人成就

扫码关注云+社区

领取腾讯云代金券