计算机应届生想成为人才,难道不应该去力扣刷题吗?
摘要:这个平台有存在的必要吗? 我作为一个新手,听说这是一个刷题的网站,于是就来了。但是找了半天也没找到我梦想当中的那种,和教程配套的、难度与知识点循序渐进的题库。这个平台的主页(leetcode.cn),上方总共就3个板块: 点进最左面那个,这
这个平台有存在的必要吗?
我作为一个新手,听说这是一个刷题的网站,于是就来了。但是找了半天也没找到我梦想当中的那种,和教程配套的、难度与知识点循序渐进的题库。这个平台的主页(leetcode.cn),上方总共就3个板块:
点进最左面那个,这些题说是给新手做的:
虽然我本身是计算机科学专业毕业的,但学校学的东西跟现实差距太大,学完就忘了,所以你们就当我是门外汉就行了。虽然我学计算机科学已经学了8年了,但我感觉我就是浪费了8年时间,你说我学过数据结构吗?学过各种编程语言吗?我确实学过,而且成绩单、学位证都是学信网可查,但学完就忘了。所以遇到编程入门的题目的时候,我是一脸懵逼的:
说实话,读完题以后,我连这道题想让我干什么都不知道。也许是因为我是双A人士(注意力缺陷障碍+高功能自闭症谱系障碍)吧,对于这种全是文字,还全是英文的题目,排版也没有任何逻辑的东西,我是非常生气的。我感觉这个平台怕是对于“新手”有什么误解,你确定真正的新手能读明白题干吗?你确定真正的新手面对这种题不会产生挫败感吗?这道题的评论区也都在说一些不明不白的话,我真想对他们说那句蒋介石的名言——你不妨,把话讲得明白一些。这题到底是简单还是困难?为什么人与人之间的沟通能这么累,你想表达什么难道还需要别人猜吗?
力扣这个平台上面的题全是类似这种的,我对这种题的态度也是很明确的,你们也可以在这道题的评论区找到我的留言。这种题对于新手来说,既不简单,也没有一丁点作用。哪个公司的产品经理会告诉你“这个功能需要用二叉树来解决”?不都是说“这个功能需要让用户xxx,你看怎么解决”吗?然后把需求发给AI,AI就直接写好对应的代码了,这种数据结构题既没有关注编程语言本身的语法,也没有关注真正用来解决实际问题的算法,完全就是四不像,对真正的新手没有一丁点帮助,只有学校里面的计算机科学专业的科研队伍才会闲的没事研究这种东西好不好!对于这种垃圾编程八股文,随便找个AI都能杀个七进七出。AI最擅长的就是应试。
从科研的角度讲,我在课上学数据结构的时候,甚至连编程都不用,对于这种题,直接在纸上画个图,啥问题都能解决了;而从实际求职应聘的角度讲,哪个公司的生产环境能用上数据结构这种东西?反正就我的经验来说,我还从来没看见哪个程序员开发网站、开发APP、开发软件的时候,有能用上数据结构的实际需求场景。所以说,数据结构只有用来科研的时候才能用上,而离实际解决问题、建造工程太远了。真正的新手既没学过数据结构,也没学过具体的编程语法,上来就刷这种东西,误人子弟不说,还只会增加新手的挫败感,劝退新手。
真正的新手,需要的是和这个目录相对应的题库(以rust语言为例):
看到没有,这才是一个合格的题库应该有的样子。按照这个目录先看文档学知识点,然后再来这个平台做题巩固知识点,这一套下来,这个编程语言也就掌握了。而不是像这个所谓的“新手题库”一样,看见那个红框了吗?你家新手会一边学习一个新的编程语言的条件判断语句,一边上来就跳级学习《数据结构》第二章、乃至第三章才会学到的二叉树吗?!你倒是挺会压缩时间啊,时间管理大师非你莫属!同时学习两门专业课,大学不请你去上课真是可惜了!
况且你的题干都写的什么乱七八糟的,你看看题干,对我们这种神经多样性人士(自闭症谱系障碍、注意力缺陷多动障碍、阅读障碍、书写障碍等群体的统称)友好吗?用词这么文邹邹,确实减少歧义了,但也徒增理解的成本了。就连我这种轻症的都得调动120%的专注力才能读懂题干,你觉得比我症状还严重的人,他们能读懂吗?无障碍设施不只包括适老化改造和对残疾人的友好,还包括对我们神经多样性人士的尊重和平等。所以这道题完全可以改造成这样(但这不代表我觉得你这题出的不烂,我只是给你打个样):
判断根结点是否等于子结点之和
假如👇的那两个子节点相加等于👆的那个根节点的话,那么你的程序就要返回true,否则就要返回false。
测试用例
测试用例1
输入:root = [10,4,6]
输出:true
解释:root是一个数组,数组内的第一个数(10)代表根节点,对应图片里👆的那个节点;第二个数(4)代表左子节点,对应图片里👇那两个节点的👈的那个子节点;第三个数(6)代表右子节点,对应图片里👇那两个节点的👉的那个子节点。
测试用例2
输入:root = [5,3,1]
输出:false
解释:数据结构和含义基本和测试用例1相同,只是数字不一样。5就是10的位置,3就是4的位置,1就是6的位置。两个子节点3和1相加为4,不等于根节点的5,所以输出false。
