java 数据结构与算法之每日一道LeetCode做题记录

对自己的要求

  • 有一个系统的模块:每一个模块有自己的一个做题模板
  • 记录做的每一道题
  • 复习前一天的题目:前期1-7题 可以快速复写前几天写的题,后期8-15题晚上睡前复习当天一分钟。一星期复习一个模块
  • 每一道题目精益求精:去想自己的代码哪儿些能提高,哪儿些可以借鉴别人的思路
  • 培养自己bug free的思维习惯:不断地追问自己有没有bug,怎么去设计,怎么去完成
  • :写代码快,思维快、模块很清晰
  • 每天一道,风雨无阻

准备刷的专题块:

  • 哈希表(按照频率刷题)
    1、1:简单Leetcode第一天之两数之和(1)
    2、771:简单Lettcode第二天之石头于宝石(771)
    3、3:中等Leetcode第三天之无重复字符串的最长字串(3)
    4、136:简单Leetcode第三天之只出现一次的数字(136)
    5、535:中等Leetcode第四天之TinyURL的加密与解密(535)
    6、138:中等Leetcode第五天之复制带随机指针的链表(138)第一次看到执行时间0ms,击败100%
    7、85 此题归于栈模块。
    8、202:简单Leetcode第六天之快乐数202
    9、149此题归于枚举模块。
    10、49:中等leetcade第六天之字母异位词分组49
    11、463此题归于深度优先遍历模块。
    12、739此题归于栈模块:中等LeetCode第十五天栈之每日温度739
    13、76此题归为滑动窗口模块。
    14、37此题归为深度优先遍历模块。
    15、347(堆作为第二种方法):普通leetcode第七天之前K个高频元素347

  • 滑动窗口
    1、76:困难 LeetCode第七天之最小覆盖字串76
    2、3:中等Leetcode第三天之 无重复字符串的最长字串3(滑动窗口)
    3、424:中等leetcode第九天之替换后的最长重复字串424
    4、438:中等Leetcode第十天之找到字符串中所有字母异位词438
    利用滑动模块模板解决滑动模块题:
    模板:滑动窗口模板
    1、3:中等leetcode滑动窗口模板之无重复字符的最长子串3
    2、76:困难leetcode滑动窗口模板之最小覆盖子串76
    3、438:中等leetcode滑动窗口模板之找到字符串中所有字母异位词438
    4、424:中等leetcode滑动窗口模板之替换后的最长重复字符424
    5、567:中等leetcode滑动窗口模板之字符串的排列567
    6、992:困难leetcode滑动窗口模板之k个不同整数的子数组992


  • 1、42:困难困难LeetCode第十六天栈之接雨水42多解
    2、20:简单LeetCode第十三天栈之有小括号20
    3、85:困难
    4、155:简单LeetCode第十四栈之最小栈155
    5、739:中等LeetCode第十五天栈之每日温度739

    • 相似题:
      -496:简单LeetCode第十六天之下一个更大元素I 496
      -901:普通LeetCode第十六天 栈之股票价格跨度901
      -42:困难LeetCode第十六天栈之接雨水42多解
      -84:困难LeetCode第十七天栈之柱状图中最大的矩形84多解
      -402:中等LeetCode第十七天栈之移掉K位数字402(多解:StringBuilder&&栈)
      -581:中等LeetCode第十七天栈之最短无序连续子数组581

    6、173:此题归于二叉树
    7、1130:此题归于二叉树
    8、316:困难LeetCode第十八天栈之去除重复字母316
    9、394:中等leetcode第十八天栈之字符串解码394
    11、150:中等LeetCode第十九天栈之逆波兰表达式150
    12、224:困难:栈做的有点要吐了,先放放,说一下,我感觉这道题就是394+150,两道题的结合!!
    13、94:此题归于二叉树
    14、84:困难LeetCode第十七天栈之柱状图中最大的矩形84多解

  • 数组
    1、1
    2、4
    3、11
    4、42
    5、53
    6、15
    7、121
    8、238
    9、561
    10、85
    11、169
    12、66
    13、88
    14、283
    15、16

  • 字符串
    1、5:中等
    2、20:简单
    3、937:简单
    4、3:中等
    5、273:困难
    6、22:中等
    7、1249:中等
    8、68:困难
    9、49:中等
    10、415:简单
    11、76:困难
    12、10:困难
    13、17:中等
    14、91:中等
    15、6:中等

  • 双指针
    1、11
    2、344
    3、3
    4、42
    5、15
    6、141
    7、88
    8、283
    9、16
    10、234
    11、26
    12、76
    13、27
    14、167
    15、18

  • 二分查找
    1、4
    2、50
    3、33
    4、167
    5、287
    6、315
    7、349
    8、29
    9、153
    10、240
    11、222
    12、327
    13、69
    14、378
    15、410

  • 链表
    1、2
    2、21
    3、206
    4、23
    5、237
    6、148
    7、1388
    8、141
    9、24
    10、234
    11、445
    12、147
    13、143
    14、92
    15、25

  • 树/二叉树
    1、104
    2、226
    3、96
    4、617
    5、173
    6、1130
    7、108
    8、297
    9、100
    10、105
    11、95
    12、124
    13、654
    14、669
    15、99

  • 深度优先遍历
    1、200
    2、104
    3、1192
    4、108
    5、301
    6、394
    7、100
    8、105
    9、695
    10、959
    11、124
    12、99
    13、979
    14、199
    15、110

  • 广度优先遍历
    1、200
    2、279
    3、301
    4、199
    5、101
    6、127
    7、102
    8、407
    9、133
    10、107
    11、103
    12、126
    13、773
    14、994
    15、207

  • 回溯法
    1、22
    2、17
    3、46
    4、10
    5、39
    6、37
    7、79
    8、78
    9、51
    10、93
    11、89
    12、357
    13、131
    14、140
    15、77

  • 排序
    1、148
    2、56
    3、147
    4、315
    5、349
    6、179
    7、253
    8、164
    9、242
    10、220
    11、75
    12、280
    13、327
    14、973
    15、324

你可能感兴趣的:(Leetcode,leetcode,哈希表)