查看: 4483| 回复: 15
跳转到指定楼层
上一主题 下一主题
收起左侧

[其他] 求教coding skills如何提高?

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
自己勉强踩线拿过ACM亚洲赛的金牌,只是在队里一般是担任想题的角色,可能导致代码能力不太行。


最近一个月刷 LeetCode 时对代码能力的孱弱自己都惊讶……基本mid的题5分钟内能想到,码出来且bug-free可能要2、3个小时,感觉这样实在是不正常。

然后刷面经什么的,很多题可以很快想到,可如果一下子让我码也是要码很久。

不知道这种要怎么提高?多练习吗?感觉盲目地刷见效不大的样子(亲身体会

希望聚聚们能给点意见,不胜感激!

上一篇:求问一道算法题的思路
下一篇:(不好意思啊,发错版了,麻烦转到面经版)Google onsite 面试, 中国人要团结...
推荐
justin 2017-2-23 23:26:17 | 只看该作者
全局:
acm金牌请容我膜拜一下。

讲真的,绝对意义上的bugfree我觉得很难的,总有各种奇特的corner case想都想不到。然而面试的时候面试官也不会纠结你这些的。
不过话说,leetcode submit后是能看见fail的是哪个case,这个时候一步一步print出来debug应该很快就能找到对应的corner case了?
回复

使用道具 举报

推荐
yxyxyx 2017-2-23 23:37:17 | 只看该作者
全局:
如果只是写代码不熟练的话解决方法很简单,继续刷代码量就可以了。。。这玩意就是个手熟活,所以没事。
回复

使用道具 举报

全局:

打字速度是不是可以练( ?我的点不太对)

我理解的点是: lz算法能力极强,但是写出来bug free却要2-3h.


例如leetcode #1 Two Sum,看看自己能在知道解法的情况下 多少分钟/秒钟写出来..应该是<5分钟秒吧..

然后没写过的题还是要审题看的..

有些题implement起来和说起来很不一样..例如LC#4 的recursion版本..说起来就是"compare mid then find it recursively in 2 subarray"但是写起来和说起来还是有不少差别的..这种毕竟叫做"hard",我个人还没有办法逾越这个鸿沟..共勉


利益声明:没拿过acm金牌,只拿过FLG据信的弱鸡
回复

使用道具 举报

🔗
evanescence 2017-2-23 23:06:10 | 只看该作者
全局:
同关注一下,楼主的想到,是想到大概的解法还是基本所有逻辑都已经想清楚了呢?
回复

使用道具 举报

🔗
 楼主| mengt2012 2017-2-23 23:39:35 | 只看该作者
全局:
evanescence 发表于 2017-2-23 23:06
同关注一下,楼主的想到,是想到大概的解法还是基本所有逻辑都已经想清楚了呢?

不敢说所有逻辑,但基本逻辑是可以的。
回复

使用道具 举报

🔗
 楼主| mengt2012 2017-2-23 23:41:11 | 只看该作者
全局:
justin 发表于 2017-2-23 23:26
acm金牌请容我膜拜一下。

讲真的,绝对意义上的bugfree我觉得很难的,总有各种奇特的corner case想都想 ...

我很菜的…

但相比想题时间,码代码的时间自认为太久了。coding skill肯定是偏弱的。
回复

使用道具 举报

🔗
 楼主| mengt2012 2017-2-23 23:44:08 | 只看该作者
全局:
yxyxyx 发表于 2017-2-23 23:37
如果只是写代码不熟练的话解决方法很简单,继续刷代码量就可以了。。。这玩意就是个手熟活,所以没事。

刷了不少题感觉并没有本质性提高,不明白为什么…
回复

使用道具 举报

🔗
fewagewrewc 2017-2-24 13:47:34 | 只看该作者
全局:
同关注一下 最近也很想提高自己的代码能力
回复

使用道具 举报

🔗
notturno 2017-2-24 20:14:29 | 只看该作者
全局:
量变到质变
过来的人都懂的

这个量,我觉得100题可以算是一个台阶。做的越多,理解就越深,刚开始的时候可能觉得AC就挺好,慢慢就发现AC其实还不够。对算法的选择优化的分析,时间空间的判断等等
回复

使用道具 举报

🔗
wuyaohongmath 2017-2-25 15:19:14 | 只看该作者
全局:
我偶尔也会遇到楼主的情况,我提一点微小的建议。
1.可以先从伪代码入手。楼主有了核心想法之后,先不着急写代码,通过先写伪代码理清自己的思路,一定要在思路清晰后再动手,然后再一步一步把伪代码改成可以运行的代码。
2.时刻检验自己的想法。楼主可以试着证明自己的想法是不是对的,这个时候就要尽可能地思考反例了,拿一些反例来检验自己还未成型的想法,逐步修正。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表