阿里 Teambition 网盘测评

2020-10-19
阅读 2 分钟
3.1k
能获得这次内测机会非常开心。网盘是集成在 Teambition 中的。对于 Teambition 我们也不陌生。我从 2018 年开始使用 Teambition,当时因为参加一个比赛需要和多个学校的同学一起协同工作。记得那时 Teambition 已经有文件存储和共享的功能了,但是功能比较简单。

力扣周赛 198 - python 解答

2020-07-19
阅读 5 分钟
1.4k
做出了四道题目,但后两道做的很勉强,也错了几次。刚看第三道题,虽然写着 medium,但是没思路,打开第四道看到反而已经有人过了,于是先做了第四道,才回来做第一道。

2020 力扣杯!Code Your Future 春季全国编程大赛 - python 代码

2020-04-18
阅读 3 分钟
2.1k
第一题 拿硬币 LCP 06. 拿硬币 {代码...} 第二题 传递信息 LCP 07. 传递信息 {代码...} 第三题 LCP 08. 剧情触发时间 LCP 08. 剧情触发时间 {代码...} 第四题 最小跳跃次数 LCP 09. 最小跳跃次数 {代码...} 第五题 二叉树任务调度 LCP 10. 二叉树任务调度我自己还没做出来,参考了两个题解 littledva的题解 和 zqy1018的...

leetcode 1409. 查询带键的排列 - python

2020-04-13
阅读 2 分钟
1.5k
1409. 查询带键的排列 三种解法 解法一 暴力 {代码...} 解法二 deque {代码...} 解法三 树状数组 转载自: 作者:etworker链接:[链接]来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 {代码...}

leetcode 周赛 184 - python 解答

2020-04-12
阅读 3 分钟
1.7k
感谢评论去两位同学指正,这个代码如果 遇到 > 输出的结果是 > ,但是这个实际上是把 & 转义出的 & 和 gt; 组合了,所以代码可以把 text = text.replace('&', '&') 放到最后一句以来避免,代码如下:

leetcode 127. 单词接龙 126. 单词接龙 II

2020-03-31
阅读 4 分钟
1.8k
127. 单词接龙126. 单词接龙 II 预处理+广度优先遍历 这个代码不超时了,但是十分缓慢,官方题解说可以使用双向广搜提高速度,我这里没有写双向的代码 127 题 {代码...} 126 题 {代码...} 超时代码 127 题 {代码...} 欢迎来我的博客: [链接]我的博客刷题分类:[链接]

leetcode 面试题62. 圆圈中最后剩下的数字 (约瑟夫环)

2020-03-30
阅读 1 分钟
2.9k
面试题62. 圆圈中最后剩下的数字 一共 n 个元素,围成一圈,从第 0 个开始,每数 m 个删除一个。求最后剩下的是哪个。 首先把 n 个元素看成从 0 到 n - 1 的序列。 如果只有一个元素,剩下的一定是 0 号。 可以把 n 个元素每 m 个删除一个的问题定义为 f(n, m),可以通过 f(n-1, m) 的解得到 f(n, m) 的解。这里 m 是固...

Round A 2020 - Kick Start 2020 - python 版代码

2020-03-22
阅读 3 分钟
2.6k
T 组数据,每组两行,第一行 N,B 代表有 N 个待售房屋,你拥有的钱是 B。第二行是 N 个整数,代表每个房屋的价格。求能购买的最多房屋数量。

面试题40. 最小的k个数

2020-03-21
阅读 1 分钟
1.4k
这里可以使用随机选择算法,平均时间复杂度为 O(n),最差情况下时间复杂度为 O(n^2)。另外还可以使用更加复杂 BFPRT 算法 好处是平均时间复杂度和最差情况下时间复杂度都是 O(n)。

牛客网 nowcoder - 庆祝61

2020-03-20
阅读 1 分钟
1.7k
牛家庄幼儿园为庆祝61儿童节举办庆祝活动,庆祝活动中有一个节目是小朋友们围成一个圆圈跳舞。牛老师挑选出n个小朋友参与跳舞节目,已知每个小朋友的身高h_i。为了让舞蹈看起来和谐,牛老师需要让跳舞的圆圈队形中相邻小朋友的身高差的最大值最小,牛老师犯了难,希望你能帮帮他。 如样例所示: 当圆圈队伍按照100,98,103,105...

leetcode 剑指 Offer 面试题36. 二叉搜索树与双向链表

2020-03-19
阅读 3 分钟
1.1k
第一步:需要把 left 指针指向上一个比该元素小的值, right 指针指向下一个比当前元素大的值。但是这个值不一定是该节点的父亲或者儿子。所以递归的时候需要传递当前元素已知的界限给儿子。

面试题33. 二叉搜索树的后序遍历序列

2020-03-16
阅读 1 分钟
1.3k
根据这个可以把这个数组分成三部分:根,左子树,右子树。然后递归判断,直到分成长度为 1 的数组,自然满足条件。递归过程中,如果有不满足条件的就返回 False。

leetcode 剑指 offer 面试题30. 包含min函数的栈

2020-03-16
阅读 2 分钟
1.3k
面试题30. 包含min函数的栈 本题与 leetcode 155 题相同:[链接] 不使用额外空间无法做到 O(1) 复杂度。定义一个额外的栈 m 储存当前的最小值。 参考和详细解析:liweiwei1419 的题解 python 解法 {代码...} c++ 解法 {代码...}

leetcode 第 180 场周赛 - python 解法

2020-03-15
阅读 3 分钟
1.2k
创建 self.s = [] 作为栈。但是 s 中每个元素第一个是真实的值,第二个是增加的值,每次 increment 操作,直接增加栈里元素,而是记录在栈里相应位置的元素的这个列表中,直到 pop 的才加起来,而且累加到前面一个元素上。

leetcode 第 179 场周赛 - 答案和思路

2020-03-08
阅读 3 分钟
1.4k
这题只用两个字母就可以,比如 'a', 'b',n 是奇数,直接返回 n 个 'a'。如果 n 是偶数,返回 n-1 个 'a', 1 个 'b'。

leetcode 第 178 场周赛 - 答案和思路

2020-03-01
阅读 4 分钟
1.4k
[链接] 第一题 5344. 有多少小于当前数字的数字 [链接] 我的做法是先排序,然后用 dict 统计每个数字前面的数字个数。然后遍历 nums 生成答案。 {代码...} 第二题 5345. 通过投票对团队排名 [链接] rank 是一个 list,对每一个队伍的第一位到第 n 位排名做了统计,直接用 sort 方法排序即可。 {代码...} 第三题 5346. 二...

Leetcode 354. 俄罗斯套娃信封问题 Russian Doll Envelopes

2020-02-26
阅读 1 分钟
2k
这是因为宽度相同的信封无法套娃,所以这时把高度按降序排列,就无法利用同宽度的信封了。由于传入 lengthOfLIS 函数的只有高度信息,这种排序方法相当于把宽度信息传递到高度中了(通过把同宽度的信封高度按逆序排列)。

Leetcode 300. 最长上升子序列 Longest Increasing Subsequence

2020-02-26
阅读 2 分钟
2k
[链接] 这道题目用暴力是 O(n^2) 使用保存序列尾部元素的思路可以优化到 O(nlogn) 暴力 O(n^2) {代码...} 保存每个长度的序列的尾部元素 tail[i] 代表长度 i + 1 的子序列的最后一个元素,最小可能是几。 理解对 tail 数组的更新:如果当前数大于 tail 中最后一位,那么 tail 长度可以加一,新的最长序列的尾部元素自...

Leetcode 1292. 元素和小于等于阈值的正方形的最大边长

2020-02-26
阅读 2 分钟
1.6k
题目链接 官方题解提供了两种方法,而且也有详细解释 两个方法的共同的地方是使用前缀数组以 O(1) 时间求任意矩形内元素和。(正方形也是矩形,但这里前缀数组不仅可以求正方形) 第一个方法二分的是正方形的边长,官方题解里说如果直接迭代找会超时。 第二个方法是对迭代的优化,思路就是每次都从当前找到的最大正方...

Leetcode 91. 解码方法 Decode Ways

2020-02-25
阅读 2 分钟
1.7k
如果 s 以 0 开头则无法解码,返回 0(如果 s 不以 0 开头) s 长度为 1 返回 1长度为 2,有四种情况:既可以作为两个一位数字(都不是 0),也可以作为两位数字,例如 ‘12’。只能作为两个数字,如 ‘32’。只能作为一个两位数,只有两种情况 ‘10’ 、‘20’。无法解析,如 ‘30’。

leetcode 89. 格雷编码 Gray Code

2020-02-24
阅读 2 分钟
1.5k
[链接] 我自己写的是第一种方法,又总结了题解中看到的两种方法 搜索 {代码...} 镜像法 出自题解 [链接] n + 1 的答案是 n 的答案复制两份,一上一下拼起来,上面的最高位补 0 (实际上就是不变)下面最高为补 1,并倒序。 {代码...} 公式法 这个就更强了,方法出自 [链接] 直接根据公式算出来了: gray_code\[i\] = (i ...

leetcode 第 177 场周赛 - 答案和思路

2020-02-23
阅读 4 分钟
1.9k
本次没有很难的题目 第一题 5169.日期之间隔几天 [链接] 实际上应该用模拟的方法计算天数。我这里使用 python 的 datetime 库直接算出来了,有点作弊嫌疑,但是能过。 {代码...} 第二题 5170.验证二叉树 [链接] 要保证只有一个点入度为 0,其他点入度都是 1,而且全图没有环,就是树。 为了防止 0 号点不是根,计算了所...

leetcode 497. 非重叠矩形中的随机点 - python 解法

2020-02-19
阅读 1 分钟
2.1k
难点在于如何高效的随机选择矩形。可以计算每个矩形的点数,然后做一个累加的数组,数组第一位是第一个矩形的点数,第 n 位是前 n 个矩形的点数和。

leetcode 剑指 offer 面试题14- I. 剪绳子

2020-02-18
阅读 1 分钟
1.5k
解题思路 学习了 @Wilson79 的题解(本文和他思路基本一致,但他的实现是 O(n)) 一句话代码(附在最后)不好理解,写成多行的: {代码...} 至于为什么这样,Wilson79 的题解已经给出了详细的解释,为什么 3 最好,我再重复一下归纳以后的策略: 剪出长度 1 是不划算的,尽量不要出现 1,实际上只有 n = 2, n = 3 的时候...

leetcode 剑指 offer 面试题13. 机器人的运动范围

2020-02-18
阅读 2 分钟
1.3k
由题意知,除了第一个格子外,机器人到所有可去的格子都至少有这两种方法之一: 向下到达、向右到达。换句话:如果一个格子可达,那么我们肯定可以从他左边的格子向右走一步过去,或者从他上边的格子向下走一步过去。

调试错误、查看表结构、交易 output 数量分布 - 使用 Google Big Query API 处理比特币数据(三)

2020-02-18
阅读 4 分钟
2.7k
前面两篇文章:Kaggle 上的比特币链上数据集 - 使用 Google Big Query API 处理比特币数据(一)总结了 kaggle 上入门 kernal 的代码 用 SQL 获取 bigquery 比特币数据 - 使用 Google Big Query API 处理比特币数据(二)使用最简单的 SQL 获取原始数据 报错的 SQL 写了一个统计比特币交易输入输出数量的查询 {代码...} ...

用 SQL 获取 bigquery 比特币数据 - 使用 Google Big Query API 处理比特币数据(二)

2020-02-16
阅读 3 分钟
3.9k
但是实际上这个数据集相关的 kernal 不算很多,很多想要做的东西缺乏参考,需要自己探索。本次文章记录了我探索 bigquery 数据的过程。

leetcode 第 176 场周赛 - 代码和解释 - python

2020-02-16
阅读 3 分钟
2k
[链接] 第一题 5340.统计有序矩阵中的负数 [链接] {代码...} 第二题 5341.最后 K 个数的乘积 [链接] 第一可能查询的次数很多,区间也可能很大,如果每次查询都现算可能超时。但是每个数字都不大。 这时候就考虑不存数字本身,而是存连乘后的结果。例如输入的 a b c d。则存的是 a,a×b,a×b×c,a×b×c×d。这样。如果查询...

leetcode 剑指 offer 面试题07. 重建二叉树

2020-02-15
阅读 1 分钟
1.7k
然后找根在中序中的位置,把中序切成两个数组。左边是左子树,右边是右子树。然后根据左子树和右子树元素数量把先序序列也切分成两个,递归构造子树就可以了。

查找 ssh 暴力攻击:使用 awk、grep 等命令简单分析服务器 auth 日志

2020-02-15
阅读 5 分钟
12.3k
ssh 密码暴力破解是很常见的一种攻击。每个开启了 ssh 密码登录公网服务器几乎都会被攻击。本文使用 linux 自带的工具简单分析了 auth 日志,用非常简单的方法查找了攻击者的 ip、ip 地理位置、被攻击的用户名,被攻击的次数等信息。