一 序
本文属于极客时间-算法训练营 学习笔记系列。
二 刷题步骤
第一遍
- 五分钟:读题 + 思考
- 直接看解法:多看几种,比较解法优劣
- 背诵、默写好的解法
第二遍
- 马上自己写 ——> Leetcode提交
- 多种解法比较、体会 ——> 优化!
第三遍
- 过了一天后,再重复做题
- 不同解法的熟练程度——>专项练习
第四遍
- 过了一周后:反复回来练习相同的题目
第五遍
- 面试前一周恢复性训练
三 movezero
题目:
Given an array nums
, write a function to move all 0
's to the end of it while maintaining the relative order of the non-zero elements.
Example:
Input:[0,1,0,3,12]
Output:[1,3,12,0,0]
Note:
- You must do this in-place without making a copy of the array.
- Minimize the total number of operations.
老师说的上面的。
给自己5分钟的时间。先思考:
尝试吧每种思路都列出来,再比较下选出较好的方案动手写。
过了就直接看题解吧。进入学习阶段:
做完后关注下官方的题解跟讨论区,看看有没有写的更好的方案。
拿来学习。
训练营70天的正课没参加没有发言权。但就9.9的体验课来说,还是比较值的。
覃超老师说:授人以鱼不如授人以渔。不讲奇技淫巧,就是说大的思路,寻找共性的模板,培养思维方式。
剩下的就是交给自己去磨练了。
这个真没好办法,我经常感觉就是上班搬砖已经累了,记得沈剑老师之前说过:
上班时间是给公司的,下班之后才是自己的。(大概是这个意思)
*****************
这个方面我做的特别不好,经常会迷茫彷徨,大家引以为戒吧。