堆 堆我以为是啥呢 结果是一种树??? 插眼… 小顶堆 priority_queue<int, vector<int>, greater<int>> pq; 大顶堆 priority_queue<int> pq; 215.数组中的第K个最大元素 第一种想法: 1234567class Solution {public: int findK 2026-01-19 数据结构与算法 #堆
贪心 贪心算法贪心算法 顾名思义 重点在贪心 即 每一步都做出当前看来最优选择的算法思想 其核心假设是 局部最优的选择,能够导向全局最优的结果 需要注意的是,这里的“最优”并非基于未来状态的全局搜索,而仅依赖于当前已知的信息 有点意思… 不过 你确定吗??? 121.买卖股票的最佳时机兄弟 学了这个能成为股神吗??? 贪心算法 解: 123456789101112class Solution 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 #回溯
DP 动态规划我现在暂时讲不清楚 以后再说… 70.爬楼梯 解: 1234567891011121314class Solution {public: int climbStairs(int n) { if(n == 1) return 1; if(n == 2) return 2; vector<int> dp(n+1); 2026-01-19 数据结构与算法 #动态规划 #LeetCode
栈 栈(LIFO)学pwn的看到栈真是惬意啊 不对… 20.有效的括号 解: 后进先出 1234567891011121314151617181920class Solution {public: bool isValid(string s) { stack<char> stk; for(char c : s) { 2026-01-19 数据结构与算法 #LeetCode #数据结构 #栈
链表 链表c语言动态内存管理中 链表结构无处不在 有fast bin这种单向链表 也有unsorted bin这种双向链表 我应该还是蛮熟悉的… 重点在于对指针的理解 做题过程中呢发现 核心算法是 双指针 那么 启动! 160.相交链表 双指针好吧 解: 123456789101112131415161718192021/** * Definition for singly-linked list. * 2026-01-19 数据结构与算法 #LeetCode #双指针 #数据结构 #链表
双指针 双指针很经典 也很有意思 以后写… 283.移动零 解法: 123456789101112131415class Solution {public: void moveZeroes(vector<int>& nums) { int slow = 0; //快慢双指针 for(int fast = 0;fast < nu 2026-01-19 数据结构与算法 #LeetCode #算法 #双指针
twoSum 起因:coding能力太差导致期末考试被制裁 因此 今天从LeetCode的第一题两数之和开始数据结构与算法的学习 首先给出题目 第一个想法是直接两层for循环暴力枚举所有可能 1234567891011121314class Solution {public: vector<int> twoSum(vector<int>& nums, int t 2026-01-17 数据结构与算法 #LeetCode #哈希表 #性能优化
panorama 计算机专业的同学应该都听过一本书,深入理解计算机系统(CSAPP) 其实我很早就开始读了,但是只是囫囵吞枣,根本不知所云,于是便放弃了一段时间。 现在经历了许多(并非),对许多名词有了一些概念后,我又重新翻开了这本书,发现许多地方豁然开朗,今天将第一章,计算机系统漫游,也就是标题所说的panorama,总结一下,以遍展开后续的学习。 以这本书的方式,从你的第一个程序hello的生命周期说起,我们来 2026-01-16 CS #panorama