Skip to content

weedge/leetcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

leetcode

fuck leetcode 🦉

算法

  1. DP(Dynamic Programming): 动态规划思维,找准定义 某个互斥状态下 的递推模型公式,通过需求,定义问题,抽象公式模型,初始化状态,确定逻辑顺序编码解决问题(递推状态思维,需要逆向定义,正向推进状态得到结果,过程会有差异化);

  2. RBT(Recursive BackTracking): 递归回溯,逆向思维,利用计算机程序的递归入栈处理,定义截止条件出栈,获取到子结果集时需要回溯(逆向思维,一般把问题枚举出来,形成递归树,然后深度优先搜索,然后回溯上一层,再次搜索);

    何时使用回溯算法
    当问题需要 "回头",以此来查找出所有的解的时候,使用回溯算法。
    即满足结束条件或者发现不是正确路径的时候(走不通),要撤销选择,回退到上一个状态,继续尝试,直到找出所有解为止
    
    怎么样写回溯算法(从上而下,※代表难点,根据题目而变化)
    ①画出递归树,找到状态变量(回溯函数的参数),这一步非常重要※
    ②根据题意,确立结束条件
    ③找准选择列表(与函数参数相关),与第一步紧密关联※
    ④判断是否需要剪枝
    ⑤作出选择,递归调用,进入下一层
    ⑥撤销选择
    
    DFS 和回溯算法区别
    DFS 是一个劲的往某一个方向搜索,而回溯算法建立在 DFS 基础之上的,
    但不同的是在搜索过程中,达到结束条件后,恢复状态,回溯上一层,再次搜索。
    因此回溯算法与 DFS 的区别就是有无状态重置
    

人生

  1. “物来顺应,未来不迎,当时不杂,既过不恋” -- 曾国藩

  2. "Yesterday is a history, tomorrow is a mystery, only today is a gift, that is why we call it present. " -- 功夫熊猫 (inner peace)

规律

  1. ”路漫漫其修远兮,吾将上下而求索“ -- 屈原《离骚》
  2. "众里寻他千百度。蓦然回首,那人却在,灯火阑珊处" -- 辛弃疾《青玉案·元夕》
  3. "道生一,一生二,二生三,三生万物" -- 老子《道德经
  4. "万物之始,大道至简,衍化至繁" -- 老子《道德经

总结

动刀之前,想好解决问题的思路,勤加修炼,抓住本质,举一反三,奥利给~!

About

fuck leetcode

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published