今天刷题的时候遇到一个有趣的题目,求一个数字各个位相加的和,知道和小于10。链接. 题目本身并不难,递归或者迭代都可以解决。但如何在O(1)的复杂度内求解,才是真正的考点。 答案很简单: 1 + (num - 1) % 9. 有兴趣的可以看看证明和扩展: wikipedia.
阅读全文 »

RankNameScoreFinish TimeQ1 (4)Q2 (5)Q3 (5)Q4 (5)258 / 5236YoungForest190:57:190:06:230:25:410:36:250:52:19(1)本次contest比较简单,都是常规题。没有hard来区分水平,就看谁的实现的速度快了。50min内才能前200名。 第二题耽误了些时间,最后一题刚开始思路秀逗了,走了些弯路。 1029. Binary Prefix Divisible By 5 Intution: Stright forward. 循环移位,判断除5的余数。需要注意current要取模,因为A的长度会很大。
阅读全文 »

上周末由于准备 Google的kick start round A,放弃了一次LeetCode weekly contest。但当天晚上还是把LeetCode的题补完了。4题不简单,但经过思考还是独立做出来了。算是给被kick start难到自闭的我一个安慰吧。 1020. Partition Array Into Three Parts With Equal Sum Intution: One pass. Find the pivots which is 1/3 and 2/3. 时间复杂度: O(N), 空间复杂度: O(1). 1 2 3 4 5 6 7 8 9 10 11 12
阅读全文 »

[题目链接] 这是我首次参加Kick start比赛。之前本科的时候,和舍友tls 参加过它的前身Code Jam。今年才正式准备Kick start的一系列比赛。原因是这是Google选拔软件工程师的途径,而Google是我的Dream Company。 我于5月22日在清华参加了Google的校园宣讲会。在宣讲会上,前辈们也分外强调准备和参加Kick start的重要性。GG作为一家很左的公司,分外强调公平。而Kick start就是实现招聘公平的一个工具。毕竟相比其他公司的过分注重内推,Kick start给了弱势学校的学生一个机会。 由于平台故障,最后25min无法提交。虽然我提前
阅读全文 »

最近在学习google-test的使用和源码,在make install的时候发现除了向/usr/local/中安装了头文件,/usr/lib/中安装了shared library外,还向/usr/local/lib/pkgconfig/中安装了2个.pc文件。所以说,这个pkg-config是个什么东西呢? 从一份Guide中,我们可以发现pkg-config的所有有用的基本信息。 Overview 现代的计算机系统使用很多层的组件以向用户提供API。一个很大的难点在于如何合适地将这些不同层的组件整合起来。pkg-config这一工具收集了安装在系统上的库的metadata, 用户可以
阅读全文 »

前3道题比较顺利,30min内解决。最后一道hard题目,思路比较混乱,1个小时愣是没做出来。 Contest给我的感觉是,还是拼的熟练度。 因为第2、3题之前做过类似的,所以很快就做出来了。第2题甚至只用了2分钟!!! RankNameScoreFinish TimeQ1 (2)Q2 (4)Q3 (6)Q4 (8)348 / 5164YoungForest191:24:030:11:33(1)0:13:42(1)0:27:37None 1012. Complement of Base 10 Integer 1 2 3 4 5 6 7 8 9 10 11 12 13 class Solu
阅读全文 »

本周4道题目分数分别为4 4 5 6, 应该不是很难的,加油, Forest! 因为题目太简单,即使提前15min做完了,排名还是912 / 4712。这次比赛真的是简单,完全比拼的是写码的速度和熟练度。是否可以一次bug-free很重要。因为如果某个corner case错了,再去调试是很花时间的。我1,2题都是错了一次,耽误了很多时间。 RankNameScoreFinish TimeQ1 (4)Q2 (4)Q3 (5)Q4 (6)931 / 4059YoungForest191:24:030:24:49(1)0:44:58(1)1:05:121:14:03 1005. Maximiz
阅读全文 »

今天试着边做题边录视频,由于场地的限制,无法用麦克风进行讲解,效果差强人意。虽然可以用文字注释进行一些弥补,但丧失了视频传播的最大优势。以后还是以博客为主,传播自己的思想吧。 尤其是本次只做出2道题目,后2道题目都有尝试,但均失败了。视频效果太差。本身大家如果在B站上看视频的话,都是为了看up主秀的。这次没秀起来,遭遇了滑铁卢,甚是尴尬。不过最后我还是打算把视频放上去。就是这么脸皮厚,不怕丢人,不怕以后被翻黑历史。 排名也直接飞到1500名开外,这周的ranking怕不是要跌。 结果: RankNameScoreFinish TimeQ1 (3)Q2 (5)Q3 (6)Q4 (9)168
阅读全文 »

本周末真是忙炸,为自己的拖延和懒惰付出了代价。事情都堆在了一起,周日的deadline超级多。早上10点和老板开会,商量 怎么出本科计算机组成原理补考试题 的事儿。开完会回到实验室,contest已经开始了。在短暂犹豫是否按计划参加contest,还是先完成出补考题的任务后,我开始了本周的weekly contest。也算是自己这2个月来坚持的为数不多的事情,继续坚持下去对我来说不仅是提高算法能力的事情了,更是对掌控自己生活的信心的一种极大鼓舞。 本周的weekly contest相对还说比较简单,虽然迟到了10min,但仍然提前30min完成4道题目。尤其是第4题,虽然值8分,难度是har
阅读全文 »

今天我们一起学习2种重要的数据结构:队列 和 栈。 本文根据LeetCode上的Explore教程 Introduction to Data Structure - Queue & Stack 整理而成。 Introduction 最常用的Collection是数组(Array),其最常使用的获取数据的操作是随机获取(Random access), 在C++中一般称作 subscribe。 但是有时,我们想要限制处理数据的顺序。最常见的限制是:先进先出(First in first out), 后进先出(Last in first out)。分别对应2种数据结构 队列(Queue) 和 栈
阅读全文 »
0%