RankNameScoreFinish TimeQ1 (3)Q2 (4)Q3 (5)Q4 (6)459 / 6997YoungForest181:04:520:15:310:21:580:41:22 20:54:52终于回到亲爱的祖国啦。可以周日早上起来打LeetCode的比赛了。不得不承认,4个月没打,手生了很多。从比赛名次上就可以看出。 这次比赛是完全的手速场,而手速是很看状态和熟练度的。因此排名掉了我心服口服。也恰好可以督促自己投入更多的精力准备接下来谷歌的面试。 1341. The K Weakest Rows in a Matrix 二分搜索 查找每行的士兵数,排序找到前K个最少
阅读全文 »

问题的起因是因为LeetCode上的一个题目1286. Iterator for Combination。最完美的实现是利用 生成器(Generator),也就是Python中的yield。但是我不会,只实现了一个提前计算,然后存起来的解法。并不优雅,赛后,学习了一个C++中Generator的实现,在此分享下。因为我并未在网上找到很好的中文的关于此的文章。
阅读全文 »

问题的根源是有个同学问了个lucky number的问题Codeforces 280B, Codeforces 281D也是同样的问题。 Find all unique pairs of maximum and second maximum elements over all sub-arrays in O(NlogN) 幸运数的定义为:数组中子数组的最大值和次大值的XOR值。寻找所有幸运数中的最大的。 Brute force 的解法是枚举所有的子数组,时间复杂度为O(N ^ 2). 有没有更优的方法呢? 今天要讨论的就是这个问题。 通用的解法,快速寻找 最大次大值对 算法 寻找子数
阅读全文 »

这周没有出去玩,恰好遇到双周赛。久违地参加了一场,确实难得。 本次双周赛都是常规题目,不难。我提前50min全部一次AC, 典型的手速场。 RankNameScoreFinish TimeQ1 (2)Q2 (4)Q3 (5)Q4 (7)119 / 2503YoungForest180:39:280:02:180:08:490:21:070:39:28比赛结束之前的排名是92,参与人数为1900,赛后发现名次掉了。我猜测并验证是,赛后的排名把中国区的人也算进来了。增加的人数和第一名的变化完全符合我的猜测。到leetcode-cn上看了下,那里的排名是分为中国区和全球区的。看来以后比赛时要更加油
阅读全文 »

本学期有幸来比利时交换一学期,在“钱”上遇到很多困难,在同学的帮助下逐步克服。在此感谢帮助过我的一系列好友,并将自己的经验分享给大家,让更多的人收益。 在全球化的今天,来到欧洲,如何方便的花钱,省钱,是每个留学生关心的事情。在欧洲花钱基本可以分为2类:现金、刷卡。2者是相辅相成的关系,并不像在国内,一部手机走天下。 我的经历是:在国内换了700欧的现金带过来,还带了一张招商银行的Visa全币种信用卡。因为办签证需要经济证明,我还提前转了3000多欧给学校的账户,学校之后每个月给我的账户返还666欧,作为生活费。来了之后,我分别办了 ING的Green Account,网上银行 Revult,
阅读全文 »

由于欧洲这边夏令时的原因,处于UTC +1.00,所以本次比赛我是特意早上6点起来打的。打完后休息了一个小时,又和小伙伴去根特玩了一天。晚上回来的时候,才想起来Machine Learning的assignment 2当天截止,又疯狂地赶起了Deadline。事实证明,没有认真学习还是搞不定作业的。马马虎虎交上去了,总比不交好些。空白的题目,大方地告诉助教我就是不会。 本次比赛是Kick start 2019的最后一个轮次,我还是很想参加的。今年我共参加了6轮kick start。虽然A轮就拿到了面试的邀请,但仍然不可马虎。各次的排名如下所示: 轮次ADEFGHRank6007651566
阅读全文 »

使用Mac系统确实存在一些不方便的地方,比如 写入 NTFS的硬盘或U盘。默认情况下,MAC 只支持读取NTFS。不过只要你有勇气折腾,解决方案还是很简单的。 最推荐方法 Mounty for NTFS 优点:免费,小巧 缺点:不hack,其实就是命令行的包装。有些同学可能更喜欢命令行的方式。 最hack的方法 1 2 sudo umount "/Volumes/Seagate Expansion Drive" sudo mount -t ntfs -o rw,auto,nobrowse /dev/disk3s1 ~/ntfs-volume reference: mounty
阅读全文 »

1232. Check If It Is a Straight Line 依次检查3个点是否共线。 时间复杂度: O(N), 空间复杂度: O(1). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Solution { bool right(const vector& p1, const vector& p2, const vector& p3) { return (p1[0] - p2[0]) * (p2[1] - p3[1]) == (p1[1] - p2[1]) * (p2[0] - p3[0
阅读全文 »

本轮是今年的倒数第二轮,也是相对比较简单的一个轮次。 我做出了第3题和1 2题的小数据集。第二题我本身的算法是对的,但是没有正确的评估最大的k的位数,并防止溢出操作,所以字大数据集上WA。第一题其实本身不难,只是我对约数不很敏感,导致错失没有想出更好的解法。总的来说,本轮是我最接近AC的轮次,运气相对不错,也提前1个小时完成了比赛。因为后来实在想不出解法 和 要注意的点了,就放弃了。 Book Reading 暴力法加memo可以直接过。可以我的记忆化写错了,忘记记忆了。导致TLE,损失了不少分数,太可惜 了。 另外,能用long long就不要用int。否则最后的ans会溢出。 时间复
阅读全文 »

1221. Split a String in Balanced Strings 理解balanced的定义,发现只需要找到 L 和 R 出现个数相等的位置即可。 Time complexity: O(N), Space complexity: O(1). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 impl Solution { pub fn balanced_string_split(s: String) -> i32 { let mut ans = 0; let mut l = 0;
阅读全文 »
0%