关于leetcode请教二爷# JobHunting - 待字闺中
O*i
1 楼
leetcode的OJ采用类似ACM之类竞赛的评判,只要能在规定时间内通过所有的test case
就算ac了。听说ACM那些选手为了能尽快提交代码,会采取很多trick, 包括用预定义的
宏来代替循环,用短变量名。也就是要尽快提交,只注重能否通过test case和运行速
度, 不注重代码风格之类的。
但是实际面试的时候,不是run test cases发现通过了就好,面试官会注重你的过程,
给follow问题求优化和扩展,会敏锐发现你的潜在bug,还可能会拍照存档细细查看。
有的还care细节部分,包括代码风格,变量命名,函数参数,出错处理,局部代码的优
化(比如push_back给空vector很多元素不如一开始reserve空间)
如果大家做leetcode,发现test cases全过了,就沾沾自喜,那肯定不够的。
所以第一遍注重能过OJ, 后几遍做的时候,注重把代码写好看写短写优化?
leetcode有个小问题,比如对函数F(int A[], int n),好像没有test case去涵盖A ==
NULL或者n < 0的情形,基本上是默认A为合法数组,n >= 0
就算ac了。听说ACM那些选手为了能尽快提交代码,会采取很多trick, 包括用预定义的
宏来代替循环,用短变量名。也就是要尽快提交,只注重能否通过test case和运行速
度, 不注重代码风格之类的。
但是实际面试的时候,不是run test cases发现通过了就好,面试官会注重你的过程,
给follow问题求优化和扩展,会敏锐发现你的潜在bug,还可能会拍照存档细细查看。
有的还care细节部分,包括代码风格,变量命名,函数参数,出错处理,局部代码的优
化(比如push_back给空vector很多元素不如一开始reserve空间)
如果大家做leetcode,发现test cases全过了,就沾沾自喜,那肯定不够的。
所以第一遍注重能过OJ, 后几遍做的时候,注重把代码写好看写短写优化?
leetcode有个小问题,比如对函数F(int A[], int n),好像没有test case去涵盖A ==
NULL或者n < 0的情形,基本上是默认A为合法数组,n >= 0