摘要: 题目描述: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个next指向下一个节点,另一个特殊指针random指向一个随机节点), 请对此链表进行深拷贝,并返回拷贝后的头结点。 最近有人跟我提到这个问题,网上一搜原来是一个经典面试题。我的笨脑袋想不到最优解法,但是想到了两个常规解和一个带限制 阅读全文
posted @ 2020-07-14 00:16 Xrst 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 问题:给定一个源区间[x, y]和N个无序的目标区间[x1, y1] [x2, y2] ... [xn, yn],判断源区间是不是在目标区间内(即源区间与[目标区间的并集]是否相交)。 这道题我是少有的不看答案就能把所有解法思考出来的,给了我的笨脑袋一点信心。 简单叙述下两个解法: 解法一:从源区间 阅读全文
posted @ 2020-07-12 21:15 Xrst 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 问题:给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数f(N)。 书上给的最优解,考虑十进制表示的每一位,对于0,1,其他这三种情况分开讨论,然后结合高位数字、当前位数字、低位数字计算。 我想到的是另一个解法,时间复杂度一样,但思路更简单一些: 1 2 3 阅读全文
posted @ 2020-07-05 22:04 Xrst 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 公式中的N是自然数,除法是整数除法(向下取整)。 这个公式是从《编程之美》阶乘一章摘来的,除了硬算之外,里面给出了另一个答案:X=N-(N的二进制表示中1的数目)。 但是书中用11011为例证明这个结论太复杂了,看不懂,我想了另外一个解读: N = (N的二进制最低位 + N/2) + N/2 = 阅读全文
posted @ 2020-07-05 19:43 Xrst 阅读(1077) 评论(0) 推荐(0) 编辑
摘要: 刚毕业找工作面试遇到这个问题,正确答案是“不一定,与编译器相关”。这个结论是我在工作多年后才知道的。 C/C++标准中列出了三种类型:(plain) char, signed char 和 unsigned char。第一种就是普通的char不加前缀,实际对应后两种实现的其中一种,取决于编译器,有的 阅读全文
posted @ 2020-07-05 17:18 Xrst 阅读(1923) 评论(0) 推荐(0) 编辑
摘要: 最近用Qt写了个人项目,有如下心得(可能有不准确): Qt尽管没有扩展C++语法,但是有额外编译链,每个Q_OBJECT类编译的时候会用moc工具生成另一个meta C++类,之后就是标准C++编译流程。 QT test语法似乎比Google test简洁,就QCOMPARE和QVERIFY两个,但 阅读全文
posted @ 2019-04-28 14:32 Xrst 阅读(1887) 评论(1) 推荐(0) 编辑
摘要: 最近总感觉时间利用率不高,可能是作业太多,也可能是自己太懒。老师给出的文章,都没能认真地读一读,只能领略下大致意思。无奈作业就要提交了,只好先把到目前为止我的一些感受和见解写出来吧,日后一定会将那些文章补回。一、“没有银弹”这个问题很有趣。我们早就在脑子里形成了一个印象——计算机这个领域发展总是很快... 阅读全文
posted @ 2014-11-12 18:02 Xrst 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 我在结对编程的partner是程刚(博客 cnblogs.com/a1071986199/),以下是我对其个人项目(词频统计)的复审结果。partner是用c++写的,只包含一个文件,是面向过程的程序。代码写得好的地方:一、程序流程较清晰。二、变量命名能做到顾名思义。代码存在的问题:一、模块化设计不... 阅读全文
posted @ 2014-10-24 01:38 Xrst 阅读(1807) 评论(0) 推荐(0) 编辑
摘要: 《快速软件开发》一2.2.3中提到,如果产品功能是灵活的,你就可以使用80/20规则,先开发出只需要花20%时间的80%的产品功能,而后开发产品另外20%的功能。Q:这个规则有何科学依据?如果时间-功能的关系是线性的呢,即花20%时间最多只能开发20%的产品功能?A:80/20规则是意大利经济学家帕... 阅读全文
posted @ 2014-10-16 17:34 Xrst 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 开发语言:C#开发平台:Visual Studio 2013 Professional预计时间:建立工程基本框架:半小时模块-递归寻找所有文件:半小时模块-扫描&分离单词:一个半小时Debug&优化:两小时实际时间:预计时间x3事实证明,预计时间是建立在一个相当顺利的基础上才能达到的。在实际Codi... 阅读全文
posted @ 2014-09-24 00:37 Xrst 阅读(624) 评论(1) 推荐(0) 编辑