• Leetcode150二刷总结


    滑动窗口(ok)

    题号:3、209、76

    1. 定义好窗口的左边界left和右边界right
    2. 一般是只需要遍历right,满足条件后调整left

    链表

    题号:206、92、14625、21

    1. 反转链表主要是设置好pre(初始为null)和cur(初始为第一个需要反转的元素),依次往后遍历
    2. 伪头部节点ListNode dummy = new ListNode(0, head)
    3. LRU缓存使用双向链表和哈希表,注意提前声明Node的数据结构,put操作可能会修改value值。
    4. K 个一组翻转链表重点是确定好prestartendendNext
    5. 合并两个链表的时候,直接连接即可,无需new新节点

    快速排序

    题号:215、4

    1. 快速排序的核心思想是分治,选择一个哨兵,将序列分为大于哨兵的序列和小于哨兵的序列,再分别进行快速排序
    2. 因为是分别进行快速排序,所以一开始就不要把上下界设置死
    3. 快速排序

    双指针

    题号:15、

    1. List>中添加元素:

      List<Integer> list = Arrays.asList(num, nums[left], nums[right]);
      ans.add(list);
      
      • 1
      • 2

    一维动态规划

    题号:53、121、

    多维动态规划

    题号:5、

    1. 回文串:如果abcba是回文串,那么bcb也是回文串,c也是回文串,化解为子问题。

    堆排序

    题号:4

    1. 堆排序中,每次交换完之后,要从第0个位置向下调整,而不是从i开始调整。
    2. 堆排序

    数组

    题号:1
    1.

    二叉树

    题号:102

    1. 层序遍历注意Queue的使用

    二分查找

    题号:33

    1. 注意lr的遍历

    DFS

    题号:200

    1. 二叉树和图的DFS:(1)定义退出条件(二叉树是节点为null,图为行列超边界);(2)递归dfs(二叉树是递归自己的左右子节点,图是递归周围满足条件的点);(3)去重(设置visited或者用其他值标记)
  • 相关阅读:
    获取虎牙直播源
    自动化测试及Selenium
    JavaScript笔记(本文中将JavaScript简写为JS)
    Java学习笔记---多态
    软件工程与计算总结(十七)软件构造
    (超详解)堆排序+(图解)
    浅谈k8s中cni0和docker0的关系和区别
    Python:基础&爬虫
    【开卷数据结构 】平衡二叉树
    Java多态的理解和应用
  • 原文地址:https://blog.csdn.net/qq_43606119/article/details/136341305