LeetCode和牛客网的对比

Posted _从未止步

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode和牛客网的对比相关的知识,希望对你有一定的参考价值。

    今天参加了校园风暴周的算法岗笔试题,虽然坚持到了最后一秒,但是没有完全答对一道题,说起来真的是惭愧。我在这里就说一说我的感受吧:

    我之前基本不在牛客网上练习,一直都是练习LeetCode,突然去牛客网上在线笔试,真的很是不习惯的,我就简单分析一下吧。

  1.格式控制,牛客网上的每道题都需要写完整一个程序所需要的部分,包括头文件,主函数,功能函数。这也就意味着数据结构等部分都需要自己去设计,设计的不规范就会影响你的最终程序的质量,这一点和LeetCode上是又有很大的区别的。我觉得侧重点不同吧:LeetCode上主要是让你把精力集中在算法的设计上,好比是房子的初步模型已经设计好了,你只要将它装饰好就行了,不需要去管其他的细节,所以LeetCode的每道题都会给出一个函数,函数的参数什么的都已经写好了,你只要完成功能就行了。而牛客网上则是比较严格一些吧,你需要从地基部分构建起,一直到房子成型,你需要考虑到整个程序的点点滴滴,若是你使用的数据结构等使用的不恰当的话,我想这就相当于地基没打好,最后程序的性能肯定不会好到哪儿去,所以写起来的时候确实难度较大。

  2.引导性。这个问题是我最难适应的一点,就是提交一个程序的时候,最终的结果只是显示你的答案通过了百分之多少的测试用例,去不提示你你的错误处在了哪里,你需要不断的去思考自己的程序的错误到底出在何处,我觉得这确实很难,尤其是在笔试的时候你很难设计出健全的测试用例来测试你的程序,尤其是当测试用例很长的时候,所以一旦写错了,真的很通过调试找出自己的错误处在了哪里,有的时候这一点确实让人很难受的,你有时候无法通过调试找到错误处在了哪里(精力除了要集中在解决问题上,你还得设计出健全的测试用例,否则你的程序基本上是很难保证正确率的),我个人的感觉是牛客网上代码题写错以后就很难写对;但是LeetCode上则比较人性化,他会提示你的代码无法通过哪些测试用例,这样你可以通过这个测试用例去找你的代码的逻辑上的问题,引导你的思维的前进,最终解决问题(我在LeetCode上写得比较多吧,习惯了这种方式,所以突然在牛可网上)。我觉得自己的错误自己是最难发现的,因为他都是你没想到的地方,这些地方也很多也就是你一时想不到的方向,所以没有一点提示的话,你的思维真的很难继续往前走。

  3.歧义问题。这一点我感觉两个编译器上都存在,LeetCode上题目的描述是用英文描述的,但是很简练,直奔主题,要么一看就懂,要么怎么看都看不懂(我意思是不认识英文)。牛客网上则是喜欢贴切实际,每个问题都要写很多描述,跟场景结合起来,经常有什么牛牛的人出现,一旦描述太长,看起来就比较吃力,这样也会严重的影响解题的思路。

  今天的笔试确实比较打击我的信心,以后需要在牛客网上练习练习了,光在LeetCode上练习的话,确实会习惯它的那种模式,突然换到牛客网这样的平台时,就会像产生了高原反应一样,很难适应,其他的就不多说了,有同感的可以交流交流。

以上是关于LeetCode和牛客网的对比的主要内容,如果未能解决你的问题,请参考以下文章

关于牛客网的JAVA面试题错题总结以及归纳

Python牛客网刷题-Day1

华为od机考牛客网是骗人的吗

牛客网华为机试训练第3题 明明的随机数

牛客网NowCoder Wannafly挑战赛9 A.找一找(数据处理) C.列一列(sscanf)

字符串转整形(牛客网+LeetCode)详解