杨辰饶有兴趣的打开链接。

    跳出了一个注册验证。

    杨辰输入自己的手机号,然后,通过微信账号,登陆上去。

    进入第一个挑战关卡,一道算法问题。

    看了题目,杨辰不由来了兴趣。

    求一个字符串中最长不重复子串的长度,这是一道关于大数据的算法的题题。

    有点难度,不过,难不倒杨辰。

    这一题有两种解法,最简单的办法就是暴力破解法,另一种是巧妙使用指针来求解。

    暴力破解法简单粗暴,但是效率太低,用穷举法列出所有可能的结果,然后,根据附加条件进一步筛选符合条件的解。

    杨辰不打算使用,而是运用指针法求解,效率更高,但需要对指针有较深理解。

    用三个整形maxLength、start、end分别存储最大子串长度、子串起始位置、子串结束,……。

    杨辰调出编程工具,接连敲击代码。

    很快,杨辰在关卡下方的答案框,粘贴下题目的答案代码窜,点击发送。

    没多久,关卡验证了答案,给予通过。

    第二道关卡的题目跳出:一个二叉树,求路径之和

    看了题目,杨辰眉头一皱,这是一道客户端的算法题,经过一翻思考,他还是有思路将这道题目解出来。

    第三题,第四题,……,杨辰一路过关斩将。

    一直到了第十关,杨辰被题目难住了,苦苦想不出解题的思路。

    有一个很大的整数list,需要求这个list中所有整数的和,如何实现多核并算,计算一个准确结果。

    这种算法不在杨辰的掌握之中,杨辰唯一的思路便是,采用多线程(任务),并且还要分割List,每一小块的List采用一个线程(任务)进行计算其和。

    那么必须要等待所有的线程(任务)完成之后才能得到正确的结果,可是,要怎么才能保证同一时间获得“所有的线程(任务)完成之后输出的结果?

    ……