裸辞一个多月,只面了几家创业公司,目前一个 offer 还没拿到。每天只能刷 LeetCode 艰难维持。 分享一个我最近写的《剑指 offer 》 python 的题解,https://github.com/darkTianTian/sword-for-offer/tree/master 希望可以帮(pian)助(ji)各(ge)位(star)和我一样还在挣扎的 pythoner.
|  |      1xupefei      2019-03-16 20:00:46 +08:00  6 | 
|      2azh7138m      2019-03-16 20:28:12 +08:00 via Android 好怀念刷题的时间( leetcode 以数据结构基础为主吧,算法比较少 | 
|  |      6darkTianTian OP @xupefei 为什么不能,有些题还不限制各种标准库函数呢。 | 
|  |      7darkTianTian OP @azh7138m 嗯? LeetCode 上不是算法么 | 
|      8pwrliang      2019-03-16 21:36:38 +08:00 via Android  1 跟楼主差不多,我刷题是为了以后不去拧螺丝。挂一个我的博客,https://blog.pwrliang.com 我在刷用 Java 刷 Leetcode,我不是直接贴代码,而是给出了详细的解释,并尽量写出多种解法。 | 
|  |      9cyn      2019-03-16 21:44:02 +08:00 via Android 同款头像 | 
|      10azh7138m      2019-03-16 21:51:54 +08:00 个人是觉得普及组的题目比较难 :D | 
|  |      11darkTianTian OP @cyn hhh,巧了不是 | 
|      12carlclone      2019-03-16 23:35:28 +08:00 这反转字符串.....你觉得可以 , 面试官可不这么觉得 , 这题目考的是数组操作 , 还是去 LeetCode 看 Discuss 吧 | 
|  |      13GodFather66      2019-03-17 01:25:32 +08:00 加油 同为 pythoner 已 star | 
|  |      14lincanbin      2019-03-17 02:37:40 +08:00 via Android  3 1 楼那个题目,考察的核心是尽量少的空间复杂度,因为操作的空间足够少,可以在 L1 cache 里完成,就会非常非常快…… 实际上应该先逐字母翻转( LeetCode Reverse String,从中点往两边扫描不停 swap ),然后再根据空格,针对每个单词再做一次 Reverse String 让单词还原回正确的顺序,这个操作还可以并行(不过 Python 因为 GIL 体验不到这个)。 | 
|  |      15lincanbin      2019-03-17 02:43:18 +08:00 via Android  3 考察算法的主要目的是性能优化,而不是得出解,不然我一个遍历大法岂不是 leetcode 无敌了? 你的解跟其他人的解,占用了多少时钟周期心里要有个底…… | 
|  |      1620015jjw      2019-03-17 05:57:54 +08:00 via Android lz 这个刷题态度没用的啊.. 做出来不代表做得好 | 
|  |      17tony601818      2019-03-17 07:49:00 +08:00 这是研究 API 还是研究算法? | 
|  |      18codechaser      2019-03-17 08:44:29 +08:00 via Android @lincanbin 怎么并行啊 | 
|  |      20darkTianTian OP @20015jjw 看来有些面试官要求不同,我再优化一下。 | 
|  |      21darkTianTian OP @lincanbin 嗯,看来部分题还需要优化。。 | 
|  |      22darkTianTian OP @ivechan reversed 确实比[::-1]要好,我优化一下。 | 
|  |      23JerryCha      2019-03-17 11:14:39 +08:00 草,拿 C 写的心里不平衡了 | 
|      26Justin13      2019-03-17 11:39:56 +08:00 via Android 说真的,刷算法还得上 C。 亲身经历,因为当你需要算法时,就是追求最佳时间 /空间复杂度的时候。 很多原生的方法性能并不好,虽然写起来很舒服但是没用。而 C 的版本就是最通用,性能最好的。 @JerryCha | 
|  |      27darkTianTian OP @ipwx 嗯,是,有时候确实要多写几种方法,搞不清他需要的是哪种。 | 
|  |      28darkTianTian OP @Justin13 你说的有道理,不过在 python 里面有些原生的方法是通过底层 C 优化过的,所以有的时候,拆开写反倒性能不好,虽然理论上时间复杂度更低。 | 
|      29Justin13      2019-03-17 12:47:49 +08:00 via Android @darkTianTian 但是你不知道哪些优化过,那些没有。而 C 的写法是最基础,也是最全面的。任何一个地方都在掌握之下。 | 
|  |      30darkTianTian OP @Justin13 嗯,不过觉得 C 太难了 | 
|      31darknoll      2019-03-17 16:19:56 +08:00 做算法题怎么能用 python,肯定不可以的 | 
|      32Lisanaaa      2019-03-17 16:46:44 +08:00 重在思想,Python 也可以 结构化算法刷题训练指南: https://xiaozhuanlan.com/Lisanaaa 拿到题目首先干什么?关注哪些条件?怎么找到解题线索?怎么套已有模版?暴力解法是什么?写完暴力解法应该怎么优化?从哪些方面优化?优化后怎么总结?怎么编写自己的解题模版? 经过上百篇文章的有序结构化刻意训练,你将拥有自己的一套解题体系,算法面试不再是你的短板! 结构化算法刷题训练指南: https://xiaozhuanlan.com/Lisanaaa | 
|      33tinydebian      2019-03-18 21:42:25 +08:00 楼主,我有些 Python 的工作需要请人帮助,你愿意吗? | 
|  |      34darkTianTian OP @tinydebian 是什么样类型的工作呢 |