个人分享一下。我开始刷题的时候和题主有同样的困惑,因为我一开始刷题的时候,不懂得东西太多,基础贼差。我最开始刷的是leetcode easy的题,100道左右。
  开始刷题的时候先思考,不要怕浪费时间,哪怕是想出来时间复杂度不理想的方案,也要实现出来;如果实在是一点思路都没有就看答案,有些题目的特点就是思路奇特,看一下答案就恍然大悟。注意一点,看答案一定要学习最优解
  一边刷一边总结。题型一般以下几种。

  多写多练。有些问题简直不算是题,就是基本程序员的能力,比如二叉树的前中后遍历的递归和非递归形式,各种排序算法实现等等,这些就是基础能力,不会写就背下来。之前向一个ACMer请教树状数组的问题,我说你怎么对这个东西这么熟练,他说:这破东西实现了一百多次了,忘了都难。。。。
  推荐leetcode,坚持下来就有好结果。祝好。