杨辰饶有兴趣的打开链接。
跳出了一个注册验证。
杨辰输入自己的手机号,然后,通过微信账号,登陆上去。
进入第一个挑战关卡,一道算法问题。
看了题目,杨辰不由来了兴趣。
求一个字符串中最长不重复子串的长度,这是一道关于大数据的算法的题题。
有点难度,不过,难不倒杨辰。
这一题有两种解法,最简单的办法就是暴力破解法,另一种是巧妙使用指针来求解。
暴力破解法简单粗暴,但是效率太低,用穷举法列出所有可能的结果,然后,根据附加条件进一步筛选符合条件的解。
杨辰不打算使用,而是运用指针法求解,效率更高,但需要对指针有较深理解。
&naxlength、start、end分别存储最大子串长度、子串起始位置、子串结束,……。
杨辰调出编程工具,接连敲击代码。
很快,杨辰在关卡下方的答案框,粘贴下题目的答案代码窜,点击发送。
没多久,关卡验证了答案,给予通过。
第二道关卡的题目跳出:一个二叉树,求路径之和
看了题目,杨辰眉头一皱,这是一道客户端的算法题,经过一翻思考,他还是有思路将这道题目解出来。
第三题,第四题,……,杨辰一路过关斩将。
一直到了第十关,杨辰被题目难住了,苦苦想不出解题的思路。
有一个很大的整数list,需要求这个list中所有整数的和,如何实现多核并算,计算一个准确结果。
这种算法不在杨辰的掌握之中,杨辰唯一的思路便是,采用多线程(任务),并且还要分割list,每一小块的list采用一个线程(任务)进行计算其和。
那么必须要等待所有的线程(任务)完成之后才能得到正确的结果,可是,要怎么才能保证同一时间获得“所有的线程(任务)完成之后输出的结果?
……
杨辰眉头紧皱,久久想不到这道题目的解体方式。
不过,杨辰在关卡下方看到一个闯关助手,点击那个连接可以获得闯过这道关卡的攻略。
许久找不到解体答案,杨辰逼不得已,只能向这个系统认输,点击寻求闯关战略的链接。
链接打开,直接跳转到一个页面,展示一种多核算法的理论页面。
杨辰微微愣了一下,认真阅读这个多核算法的演示内容,很快,心神便沉迷了下去,脑海中不断并现一种新算法逻辑。
在根据关卡题目的解体思路,套上这个多核算法,杨辰很快找到了正确的闯关方法。
杨辰激动莫名,迅速按照多核算法的运算逻辑,没多久他写出了闯关题目的标准答案。
点击-发送。
答案正确,第十关通关,继续闯下一关。
第十一关题目的内容呈现出来。
杨辰认真阅览题目,片刻之后,他的脸色忽然变得难看,陷入了自我怀疑。
这是一道杨辰没办法搞定的题目,好像要应用与多核算法类似的新型算法。
杨辰连忙点击右下角的获取通关的理论支持。
然而,这一次,闯关系统跳出一个提示对话框。