子串 子串以后再说… 560.和为k的子数组 解: 前缀和 + 哈希表 1234567891011121314151617181920class Solution {public: int subarraySum(vector<int>& nums, int k) { unordered_map <int, int> cnt; 2026-01-19 数据结构与算法 #LeetCode #子串
数组 数组以后再写… 53.最大子数组和Kadane算法 DP + 贪心 很好理解 解: 123456789101112class Solution {public: int maxSubArray(vector<int>& nums) { int cur = nums[0]; int ans = nums[0]; 2026-01-19 数据结构与算法 #数组
矩阵 矩阵对不起 线代没学好 慢慢写… 73.矩阵置零 解: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950class Solution {public: void setZeroes(vector<vector<int>>&am 2026-01-19 数据结构与算法 #矩阵
二叉树 二叉树先前学习的数据结构中链表和数组均表示线性结构 然而现实世界十分复杂,怎么可能事物之间都是线性关系呢? 因此引入了树这种数据结构 树是一种用于描述层级关系的非线性数据结构,由若干节点组成,其中存在一个唯一的起点(根节点root),其余节点通过父子关系组织起来,很好想象吧 先来看看最典型的树,二叉树,一种特殊的树结构,其中每个节点最多包含两个子节点 各种乱七八糟的定义先不管(自己问豆包) 直观地 2026-01-19 数据结构与算法 #LeetCode #二叉树 #数据结构
图论 图论其实图是什么我都不知道… 200.岛屿数量 深度优先算法和广度优先算法 应该蛮好理解的吧… DFS解法深度优先搜索 1234567891011121314151617181920212223242526class Solution {public: int m,n; void dfs(vector<vector<char>>& grid,i 2026-01-19 数据结构与算法 #LeetCode #图
二分 二分查找一种在高中数学中便见过的算法思想 思想本身不难理解 难点在于边界的讨论 日后再写吧… 简单做了一道题… 35.搜索插入位置 解: 123456789101112131415161718class Solution {public: int searchInsert(vector<int>& nums, int target) { 2026-01-19 数据结构与算法 #LeetCode #二分查找
堆 堆原来是一种树 慢慢写… 小顶堆 priority_queue<int, vector<int>, greater<int>> pq; 大顶堆 priority_queue<int> pq; 215.数组中的第K个最大元素 第一种想法: 1234567class Solution {public: int findKthLargest 2026-01-19 数据结构与算法 #堆
贪心 贪心算法贪心算法 顾名思义 重点在贪心 即 每一步都做出当前看来最优选择的算法思想 其核心假设是 局部最优的选择,能够导向全局最优的结果 需要注意的是,这里的“最优”并非基于未来状态的全局搜索,而仅依赖于当前已知的信息 121.买卖股票的最佳时机 贪心算法 解: 123456789101112class Solution {public: int maxProfit(vector& 2026-01-19 数据结构与算法 #贪心
trick trick一些小巧思 佩服古人的智慧 136.只出现一次的数字 巧妙利用异或的性质 解: 12345678910class Solution {public: int singleNumber(vector<int>& nums) { int ans = 0; for(int c : nums){ 2026-01-19 数据结构与算法 #LeetCode #异或 #trick #算法
回溯 回溯算法我觉得这个算法很有意思啊 有点像无限流小说中的那种不断重生探路,死亡回溯,直至找到最佳解法,杀出重围… 依旧插个眼 以后补… 22.括号生成 解: 1234567891011121314151617181920212223242526272829class Solution {public: vector<string> generateParenthesis( 2026-01-19 数据结构与算法 #LeetCode #回溯