leetcode 239. 滑动窗口最大值
单调队列解题思路1.使用双端队列2.维护队列的单调性,保持由大到小,队头即为当前窗口的最大元素,将小于nums[i]的元素全部pop3.注意最大值必须要在当前窗口的范围内
deque代码(记录数组的索引)123456789101112131415class Solution {public: vector<int> maxSlidingWindow(vector< ...
CS50games-Pong学习记录
简介本项目来源于哈佛大学的cs50课程,在跟随视频教程的学习过程中,对游戏开发的基本过程有一定了解,有意识好的项目架构应该遵循怎样的原则,是一个不错的Toy project,在经过自主学习之后,部分代码本人进行了中文注释.
以下选取重点功能部分的代码进行展示。cs50games youtube地址
Ball.lua 代码12345678910111213141516171819202122232 ...
Hexo 将博客部署到vercel实现加速
前言博客搭建之后,光秃秃的不好看,先是花了不少精力将主题换成了好看的butterfly,遇到了不少坑,但是发现访问速度异常之慢,于是决定将博客部署到Vercel进行提速,效果确实明显,加载速度快到泪目
导入 GitHub 仓库Vercel 是一个静态网页部署网站,并不托管代码。因此,我们通过 GitHub 来托管 hexo deploy 生成的网页文件,并设置自动导入。当你的源代码仓库有变动后,V ...
leetcode 438. 找到字符串中所有字母异位词
解题思路思路同经典的76.最小覆盖子串,https://leetcode-cn.com/problems/minimum-window-substring/solution/c-hua-dong-chuang-kou-z-by-zrita/
代码123456789101112131415161718192021222324class Solution {public: vector ...
leetcode 76. 最小覆盖子串
代码1234567891011121314151617181920212223242526272829class Solution {public: string minWindow(string s, string t) { string res = ""; int m[128] = { 0 }; ...
leetcode 289. 生命游戏
解题思路1.我们用最低位保存当前的状态,1为活,0为死,用倒数第二位保存更新后的状态2.board[i][j] & 1获取当前的状态3.board[i][j] >> 1获取下一个状态4.board[i][j] |= 2表示将倒数第二位置为1,表示更新后的状态是活
代码12345678910111213141516171819202122232425class Solution ...
leetcode 22. 括号生成
代码123456789101112131415class Solution {public: vector<string> generateParenthesis(int n) { vector<string> res; dfs(res, "", n, n); return res; ...
leetcode 21. 合并两个有序链表
迭代123456789101112131415161718192021222324class Solution {public: ListNode* mergeTwoLists(ListNode* n1, ListNode* n2) { ListNode dummy (0) ; ListNode* start= &dummy ; ...
leetcode 20. 有效的括号
代码123456789101112131415161718class Solution {public: bool isValid(string s) { stack <char> t; for(char n : s) { if (n == '(') ...
leetcode 19. 删除链表的倒数第N个节点
快慢指针1(带头结点)让快慢指针相差n个位置,当快指针到最后一个元素时,慢指针的下一个元素正好就是要删除的元素ps:不用特殊考虑删除头结点的情况
代码12345678910111213141516171819202122232425class Solution {public: ListNode* removeNthFromEnd(ListNode* head, int n) ...