“没事,你继续,这个房间的空调太凉了,年轻人喜欢开18度,真是不懂节约用电。”
吴忧擤了擤鼻子,连续狂点了十几下遥控器。
第三个小问,其实跟上面的大同小异,虽然不能对单链表中的前一个节点进行操作,但是可以对其下一个节点进行处理。
在要插入节点的后面创造一个崭新的节点,然后把插入节点的值赋予新节点,再将需要插入节点的值赋予插入节点,最后改变两个节点的指向即可完成。
手写的弊端除了慢,还容易写错词,像LinkListInsertBefore一类的长单词,漏掉或者颠倒其中的几个字母是很正常的事情。
在电脑上则完全不用担心,尤其是有联想输入功能后,陈博专门弄了个代码词库来应付长单词拼写带来的困扰。
最后一问是道动态规划,是道常规的背包装物问题,假定一个背包载重量是M,有N个物品,其重量是Wi,装入背包的物品总价值为Vi,要求把物品装入背包,并使得背包内的物品价值最大。
陈博自我感觉时间所剩无几,这次没写文字,直接把代码附上,物品只存在两种状态,一种是被装进背包,另一种则是没被装进背包。
简单粗暴的方法就是执行N个步骤,依次装入1到N的物品,记录各种不同载重下的背包能够得到的最大价值,从中得出最优解。
实践操作中的动态规划远比这复杂得多,数学意义上的最优解不一定是社会意义上的最优解,如果用动态规划的思路筹建全国公共交通,那么广大中西部沿线的公路交通网络根本不可能像如今这般通达。
人设计的代码一定不是完美无暇的,即便把一些主观因素指标量化成某个具体数值糅合进评估整体,那么其在衡量的过程中无一例外都掺杂有人的因素。
“我写完了。”
落笔后陈博又复查了十几秒,没看太仔细,简单的题目容易翻车,而且检查的时候盲目自信,可能看多几遍也看不出问题。
“超时了半分钟。”吴忧把手机上的计时器摁停。
陈博试图辩解:“不好意思,如果是电脑答题,时间应该是足够的。”
“没事,让我先过目下。”
吴忧接过写满答卷的纸张,离着大半个胳膊远的距离浏览,他的眼睛炯炯有神,不需要借助老花镜,丝毫不输给二三十的年轻小伙。
暂时无事的陈博双手摆在大腿上正襟危坐,余光扫视起周围,这个房间堆满了各种资料,随便迈脚就能碰到一摞。
“你的这些技术是在哪里学的。”
听到吴忧问自己,陈博先是一愣,随后道:“书本上啊,这书上不是有教么?最基础的内容。”
“最基础的内容...”吴忧低声重复着陈博后半部分的话。
陈博意识到刚才是不是说错话了,但转念一想,这就是妥妥的教科书例题难度,用来帮助初学者理解入门的。
“你家里有人从事编程相关的行业么?”吴忧问。
“我祖上三代都是码农。”陈博又发挥起胡诌本领,他不忘提一句,“不过他们的能力都退化了,现在敲个键盘都费劲。”
吴忧感慨道:“是啊,现在哪还需要这些,电脑输入关键词,一键生成,全部搞定。”
陈博不知道面试这事是凉了还是成了,总之对方问一句,自己顺着回一句。
“试试吧,招个合适的不容易,你是兼职还是全职,薪水要多少。”
“兼职吧,我还是在校大学生。”