Skip to content

Vinci-217/LeetCode-Daily-One

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LeetCode 题解

学习链接

算法知识

哈希

暴力做法每次拿两个数出来相加,和 target 比较,那么花费 O(1) 的时间,只获取了 O(1) 的信息。 而哈希表做法,每次查询都能知道 O(n) 个数中是否有 target−nums[j],那么花费 O(1) 的时间,就获取了 O(n) 的信息。 来自灵神的力扣题解

  • 哈希的作用是用 O(1)的时间复杂度查找元素是否存在于集合中。

双指针

  • 双指针的作用是遍历的时候优化时间复杂度。

一般而言,双重循环的复杂度是 O(n^2),而双指针通过头尾指针一次遍历将复杂度降到了 O(n)。

排序

  • TODO:快排手写(面试常考)

滑动窗口

回溯

动态规划

贪心

二分

链表

二叉树

图论

字符串

  • 一个常用的比较字符串字母出现次数相等/不考虑顺序的子串的方法:用一个数组或者Map统计频率,比用集合高效且不容易出错

前缀和

  • 前缀和常用于求和的题目中,作用在于提前记录从0开始的数组的和,然后将求某区间的和的时间复杂度从O(n)转化为O(1)

单调队列

  • 单调队列三步:入、出、记录值

面试高频题

  • 206 反转链表(快手一面)
  • 手写LRU(快手二面)

About

坚持每天刷一道力扣

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages