SunQH Blog

努力做一个更优秀的人

算法题目 知识点概要

知识点概要 相关笔记 python相关 相关资料 九章算法视频 做题规范 每个题不超过15min思考时间,整个题做题时间不超过30min。 按类别刷题时,可以先看书和相关知识点再刷题。 只要看见过答案或者提示,就不算自己做出来的题,一定要留到下次完全独立作出才可标记通过。 刷题方法 1、√ 建议未刷过题的新人按着顺序来。 2、[-] 基本熟悉知识点后,可...

算法题目 深度优先(dfs)+递归

leetcode题目按类型 深度优先搜索DFS+递归 dfs(回溯)算法框架 **核心** :for循环里面的递归,在递归调用之前做选择,在调用之后撤销选择。 3个问题: 路径:已经做的选择 选择列表:当前可做的选择 结束条件:到达决策树底层,无法再做选择的条件 1 2 3 4 5 6 ...

算法题目 数学方法

Leetcode按类型 数学 总结 负数的python数学操作 1 2 3 4 5 6 7 在python这个神奇的语言里,负数取模和负数地板除和其他语言是不一样的。 需要把取模替换成%(-val) 把地板除替换成int(x / val) ans += (x % 10) if x>0 else (x%-10) x = x // 10 if x>0 else int(x/...

算法题目 排序算法

leetcode题目按类型 排序算法 总结 数据结构和排序可视化 lc官解 各种排序算法,吐血总结 简单排序里,插入排序最好(样本小且基本有序时,效率较高) 🚩冒泡排序 — 逐个比较,最大的后移 1 2 3 4 5 6 def bubbleSort(nums): for i in range(len(nums)): ...

算法题目 宽度优先(bfs)

leetcode题目按类型 宽度优先BFS BFS 算法框架 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 def BFS(start, target): q = [] visited = {} q.append(start) # 队列queue visited.add(start) # 像二叉树一样的结构,...

算法题目 字符串、模拟法

Leetcode按类型 字符串、模拟法 数组遍历框架 数组遍历框架,典型的线性迭代结构: void traverse(int[] arr) { for (int i = 0; i < arr.length; i++) { // 迭代访问 arr[i] } } 总结 标准数组生成字典及字典...

算法题目 字典树、并查集

Leetcode按类型 字典树 框架 原理 字典树(Trie): 想字典一样的树 🚩(1.5h) 440. 字典序的第K小数字 给定整数 n 和 k,找到 1 到 n 中字典序第 k 小的数字。 注意:1 ≤ k ≤ n ≤ 109。 1 2 3 4 5 6 7 8 9 10 示例 : 输入: n: 13 k: 2 输...

算法题目 堆栈(stack)

leetcode题目按类型 堆栈stack ✅(20m) 20. 有效的括号 注意: range(x)取不到x 给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 1 2 3 4 5 6 7 8 9 10 11 1...

算法题目 图

leetcode题目按类型 图 总结 图定义 1 2 3 4 5 # Definition for a Node. class Node: def __init__(self, val = 0, neighbors = None): self.val = val self.neighbors = neighbors if neighbors i...

算法题目 哈希表

Leetcode按类型 字典,哈希表 总结 字典使用和查字典方法 遍历列表同时查字典 – 字典查找速度快 搜索元素就想字典(hash表) 1 2 3 4 for i, n in enumerate(nums): if target - n in dct: return [dct[target - n], i] dct[n] = i 1...