LeetCode和牛客网的对比
来源:互联网 发布:stl源码剖析pdf百度云 编辑:程序博客网 时间:2024/06/06 12:44
今天参加了校园风暴周的算法岗笔试题,虽然坚持到了最后一秒,但是没有完全答对一道题,说起来真的是惭愧。我在这里就说一说我的感受吧:
我之前基本不在牛客网上练习,一直都是练习LeetCode,突然去牛客网上在线笔试,真的很是不习惯的,我就简单分析一下吧。
1.格式控制,牛客网上的每道题都需要写完整一个程序所需要的部分,包括头文件,主函数,功能函数。这也就意味着数据结构等部分都需要自己去设计,设计的不规范就会影响你的最终程序的质量,这一点和LeetCode上是又有很大的区别的。我觉得侧重点不同吧:LeetCode上主要是让你把精力集中在算法的设计上,好比是房子的初步模型已经设计好了,你只要将它装饰好就行了,不需要去管其他的细节,所以LeetCode的每道题都会给出一个函数,函数的参数什么的都已经写好了,你只要完成功能就行了。而牛客网上则是比较严格一些吧,你需要从地基部分构建起,一直到房子成型,你需要考虑到整个程序的点点滴滴,若是你使用的数据结构等使用的不恰当的话,我想这就相当于地基没打好,最后程序的性能肯定不会好到哪儿去,所以写起来的时候确实难度较大。
2.引导性。这个问题是我最难适应的一点,就是提交一个程序的时候,最终的结果只是显示你的答案通过了百分之多少的测试用例,去不提示你你的错误处在了哪里,你需要不断的去思考自己的程序的错误到底出在何处,我觉得这确实很难,尤其是在笔试的时候你很难设计出健全的测试用例来测试你的程序,尤其是当测试用例很长的时候,所以一旦写错了,真的很通过调试找出自己的错误处在了哪里,有的时候这一点确实让人很难受的,你有时候无法通过调试找到错误处在了哪里(精力除了要集中在解决问题上,你还得设计出健全的测试用例,否则你的程序基本上是很难保证正确率的),我个人的感觉是牛客网上代码题写错以后就很难写对;但是LeetCode上则比较人性化,他会提示你的代码无法通过哪些测试用例,这样你可以通过这个测试用例去找你的代码的逻辑上的问题,引导你的思维的前进,最终解决问题(我在LeetCode上写得比较多吧,习惯了这种方式,所以突然在牛可网上)。我觉得自己的错误自己是最难发现的,因为他都是你没想到的地方,这些地方也很多也就是你一时想不到的方向,所以没有一点提示的话,你的思维真的很难继续往前走。
3.歧义问题。这一点我感觉两个编译器上都存在,LeetCode上题目的描述是用英文描述的,但是很简练,直奔主题,要么一看就懂,要么怎么看都看不懂(我意思是不认识英文)。牛客网上则是喜欢贴切实际,每个问题都要写很多描述,跟场景结合起来,经常有什么牛牛的人出现,一旦描述太长,看起来就比较吃力,这样也会严重的影响解题的思路。
今天的笔试确实比较打击我的信心,以后需要在牛客网上练习练习了,光在LeetCode上练习的话,确实会习惯它的那种模式,突然换到牛客网这样的平台时,就会像产生了高原反应一样,很难适应,其他的就不多说了,有同感的可以交流交流。
- LeetCode和牛客网的对比
- awk grep sed正则的对比分析 和 leetcode 193. Valid Phone Numbers awk 正则匹配
- 指针和数组的对比
- 堆和栈的对比
- 指针和数组的对比
- struts2 和struts1的对比
- DSR 和AODV的对比
- struts2和struts的对比
- 包和DLL的对比
- Lighttpd和nginx的对比
- Lighttpd和nginx的对比
- Essbase和Cognos的对比
- FastDFS和MogileFS的对比
- easyMock 和 Mockito 的对比
- iBatis和Hibernate的对比
- C#和Java的对比
- Struts2和Struts1的对比
- strlen和sizeof的对比
- Bootstrap是什么,Bootstrap里的文件分别表示什么?都有什么用?
- JDBC的简介及操作
- Product of Array Except Self
- LVS+Keepalived负载均衡操作手册
- Android:android sdk源码中怎么没有httpclient的源码了
- LeetCode和牛客网的对比
- HDU 2089 不要62
- C语言中声明与定义的意义和使用方法
- JVM内存堆布局图解分析
- CodeForces 659 B. Qualifying Contest(结构体排序的问题)
- Unity Shader简单Shader二
- 关于STL中List解析
- redis-集群安装(1)
- TCP:三次握手与四次挥手