2021年10月13日
摘要: 原因如下 1. 博客园不支持markdown,贴代码很难受 2. 博客园作为一个早期就成立的网站,上一次没有审核系统就已经难受过了一阵子。 而他们现在开始收集手机号码,而手机号是相关规定要求收集的,他们现在没强制收集倒是让我很惊讶。 问题在于博客园并没有及时地提醒我隐私政策更新,我希望看到博客园如何 阅读全文
posted @ 2021-10-13 09:47 Ricochet! 阅读(40) 评论(1) 推荐(0) 编辑
  2021年10月10日
摘要: 原始论文:https://www.cs.cmu.edu/~mblum/research/pdf/coin/ 知乎讨论:https://www.zhihu.com/question/30824110 假设 Alice 抛,Bob 猜,只要 Alice 无法捏造,Bob 无法破解,那么应当认为是一个可以 阅读全文
posted @ 2021-10-10 10:01 Ricochet! 阅读(96) 评论(0) 推荐(0) 编辑
  2021年10月9日
摘要: 以前我就想过类似的题目,结果思路不对……现在再来一次吧 我的思路是,保存一个区间左右两边的数字。例如,对于区间[2, 5],那么现在我们就保存 2 和 5. 如果我们拿到了6,那么查表,存在 5 的话,就把 5 删除。如果 5 不存在,那么就把 6 保存,且标记为 leftmost 的数字。 那么如 阅读全文
posted @ 2021-10-09 10:43 Ricochet! 阅读(26) 评论(0) 推荐(0) 编辑
  2021年9月29日
摘要: 这是一段困难题,我也想了很绕,然后弄清楚其中的原理。 首先,我们可以很轻易地用 O n 时间算出平均每个洗衣机应该有的衣物,如果这个数不是整数,就返回 -1。 其次,我们要注意题目条件:一个洗衣机一次只能转移一件衣服,但是可以同时接收多件衣服。 然后我们考虑一下「传输速度」:一个有富余的洗衣机,转移 阅读全文
posted @ 2021-09-29 14:09 Ricochet! 阅读(20) 评论(0) 推荐(0) 编辑
  2021年9月28日
摘要: 首先是一些基础设施: 1. 通过 Edge 下载 Chrome,通过魔法下载 Sw**chyOm*ga。 2. 通过微软商店下载 Terminal。 3. 为了安装 scoop,下载 .NET。 4. 通过 Powershell + 魔法下载 scoop。注:PS 走网络层,不用专门配代理变量 5. 阅读全文
posted @ 2021-09-28 14:46 Ricochet! 阅读(121) 评论(0) 推荐(0) 编辑
  2021年9月26日
摘要: 我们先用最朴素的方法来思考这道题,那就是逐位进行运算。 bit[i] = a[i] + b[i] + carry[i] if a[i] + b[i] + carry[i] >= 10: carry[i+1] = 1 但是我们不能使用加法,也没有加法器元件,因此我们只能自己来总结规律。 0 + 0 = 阅读全文
posted @ 2021-09-26 09:36 Ricochet! 阅读(26) 评论(0) 推荐(0) 编辑
  2021年9月25日
摘要: 看到这题我就想到了72,编辑距离那题真的是脑汁噩梦…… 回到这题上来,这题只是要求删除字符,那么必然是要求出两个单词之间的最长公共子序列。这个子序列越长,那么需要删除的字符就越少。 那么显然这题就是要用动态规划了。比较两个字符的时候,分两种情况,字符一样和字符不一样 dp[i][j]= word[i 阅读全文
posted @ 2021-09-25 09:59 Ricochet! 阅读(26) 评论(0) 推荐(0) 编辑
  2021年9月24日
摘要: 这个的话套一个递归的模型就好了。 遍历链表,如果遇到了有child 的节点,就用一个函数去将其拉直,并获得其尾部节点的指针。 自己做的时候忘了考虑一些边界条件。空链表的时候不应该处理而应该直接返回,链表长度为1的时候也应当注意判断条件。 class Solution: def flatten(sel 阅读全文
posted @ 2021-09-24 18:45 Ricochet! 阅读(24) 评论(0) 推荐(0) 编辑
  2021年9月22日
摘要: 我们第一轮肯定是要全部扫描一遍链表,否则我们不知道链表长度,分割也就无从谈起。 再看分割条件,划分为元素个数为k的数组,那么我们只需要计算出一个部分的长度,然后在第二次遍历链表的时候,把每个部分的第一个节点加入数组中,最后一个节点的next设为null即可。 那么一个部分的数量得是多少合适呢?由以下 阅读全文
posted @ 2021-09-22 09:03 Ricochet! 阅读(22) 评论(0) 推荐(0) 编辑
  2021年9月20日
摘要: 300 的最基础做法还是很好理解的。 对于nums[i],我们记录下它可以和前面的元素组成多长的最长子序列。 例如nums = [1, 2, 5, 4, x, ...], 我们就得到对应的记录数组 maxlen = [1, 2, 2, 3, y, ...]。 那么此时我们只需要在 1 ~ i-1 的 阅读全文
posted @ 2021-09-20 00:49 Ricochet! 阅读(24) 评论(0) 推荐(0) 编辑