golang leetcode算法小抄

leetcode 刷题小抄-Golang github

前缀和

  • 303-区域和检索-数组不可变
  • 304-二维区域和检索-矩阵不可变

差分数组

  • 1109-航班预订统计
  • 1094-拼车

双指针(链表)

  • 21-合并两个有序链表
  • 86-分隔链表
  • 23-合并k个升序链表
  • 19-删除链表的倒数第 N 个结点
  • 876-链表的中间结点
  • 160-相交链表
  • 141-环形链表
  • 142-环形链表II
  • 83-删除排序链表中的重复元素

快慢指针(数组)

  • 27-移除元素

滑动窗口

  • 76-最小覆盖子串
  • 567-字符串的排列
  • 438-找到字符串中所有字母异位词
  • 3-无重复字符的最长子串

二分查找

  • 704-二分查找
  • 34-在排序数组中查找元素的第一个和最后一个位置

⽥忌赛⻢背后的算法决策

  • 870-优势洗牌

递归操作(链表)

  • 92-反转链表(区间反转) II
  • 206-链表反转-递归翻转

栈和队列

括号问题
  • 20-有效的括号
  • 921-使括号有效的最少添加
  • 1541-平衡括号字符串的最少插入次数
单调找
  • 496-下一个更大元素 I
  • 739-每日温度
单调队列
  • 239-滑动窗口最大值

随机集合

  • 380-O(1) 时间插入、删除和获取随机元素
  • 710-黑名单中的随机数

二叉树

  • 144-二叉树的前序遍历
  • 94-二叉树的中序遍历
  • 145-二叉树的后序遍历
  • 102-二叉树的层序遍历
  • 429-N 叉树的层序遍历
  • 104-二叉树的最大深度
  • 543-二叉树的直径
  • 515-在每个树行中找最大值
  • 559-N 叉树的最大深度
  • 226-翻转二叉树
  • 116-填充每个节点的下一个右侧节点指针
  • 114-二叉树展开为链表
  • 654-最大二叉树
  • 105-从前序与中序遍历序列构造二叉树
  • 106-从中序与后序遍历序列构造二叉树
  • 889-根据前序和后序遍历构造二叉树
  • 297-二叉树的序列化与反序列化

二叉搜索树

  • 230-二叉搜索树中第K小的元素
  • 538-把二叉搜索树转换为累加树
  • 98-验证二叉搜索树
  • 700-二叉搜索树中的搜索
  • 450-删除二叉搜索树中的节点
  • 95-不同的二叉搜索树II

  • 797-所有可能的路径
  • 207-课程表
  • 785-判断二分图
  • 886-可能的二分法

回溯算法

  • 46-全排列
  • 51-N 皇后
  • 698-划分为k个相等的子集
  • 77-组合
  • 78-子集
  • 90-子集 II
  • 40-组合总和 II
  • 47-全排列 II
  • 39-组合总和

DFS 岛屿问题

  • 200-岛屿数量
    -1254-统计封闭岛屿的数目
  • 1020-飞地的数量
    -695-岛屿的最大面积
    -1905-统计子岛屿
    -694-不同岛屿的数量

BFS

  • 111-二叉树的最小深度
    -752-打开转盘锁
  • 773-滑动谜题

动态规划

  • 剑指 Offer 10- I-斐波那契数列

你可能感兴趣的:(Golang,leetcode的那些事儿,算法,golang,leetcode)