02 2022 档案
摘要:题目链接 题解链接 解题思路 简单 01 枚举 位运算基础操作 class Solution { private: bool isValid(string s) { int count = 0; for (char &c: s) { if (c == '(')count++; else count-
阅读全文
摘要:题目链接 题解链接 解题思路 引入神经网络概念: 激活函数之一:ReLU(x) \(ReLU(x)=\begin{cases}0\ (x\leq0)\\x\ (x>0)\end{cases}\iff ReLU(x)=\max(x,0)\) 假设状态 \(dp(i)\) 为: 当前 \(i\) 个元素
阅读全文
摘要:题目链接 题解链接 解题思路 卡特兰数 代码 // 1 2 5 14 卡特兰数从第二项开始 class Solution { public: unordered_map<int,int>C; int Catalan(int n,int mod){ if(n<=1)return C[n]=1; if(
阅读全文
摘要:template<typename T> class Queue{ private: vector<T>q; int size,top; public: Queue(){ top=0;q.clear(); } int getSize(){ return size; } bool empty(){ r
阅读全文
摘要:题目链接 题解链接 基础: 二分 先从最简单的思路开始 首先,题目满足可二分性 也就是说,当可以构造出 x 个 "balloon" 串 必然,可以构造出 x-1 个 "balloon" 串 于是,二分答案 复杂度 时间复杂度: \(O(Nlog(N))\) 空间复杂度: \(O(1)\) 代码 cl
阅读全文
摘要:题目链接 题解链接 方法一:冒泡排序 思路,略 复杂度 空间复杂度: \(O(1)\) 时间复杂度: \(O(N^2)\) 代码 class Solution { public: void sortColors(vector<int>& nums) { for(auto x=begin(nums);
阅读全文
摘要:题目链接 题解链接 解题思路 单调栈 后序遍历 代码 // 自后向前,维护一个单调递减的栈,成功返回true class Solution { public: bool verifyPostorder(vector<int>& postorder) { stack<int>s; int top=IN
阅读全文
摘要:题目链接 题解链接 题外话 无意间在评论区发现了原来是 125周赛题 所以晚上补充一下,他山之石,可以攻玉, @bigelephant29 解题思路 每一个灯(坐标),有五个属性: 行 (横坐标 x ) 列 (纵坐标 y ) 撇 (直线 y=x+t \(\Longrightarrow\) 记录 x-
阅读全文
摘要:题目链接 题解链接 解题思路 经典约瑟夫环 plus 经典记忆化搜索技巧 \(f(n,m)=\begin{cases}0 & (n=0)\\ [f(n-1,m)+m]\%n&(n>0)\end{cases}\) 代码 class Solution { public: struct pair_hash
阅读全文
摘要:题目链接 题解链接 解题思路 用 \(n\) 个🎲投掷出点数和为 \(x\) 的概率为 \(p(n,x)\) \(p(n,x)=\frac{1}{6}\cdot\underset{{i=1}}{\overset{6}{\sum}}p(n-1,x-i)\) 初始条件为: \(p(0,0)=1\) 复
阅读全文
摘要:题目链接 力扣题解链接 解题思路 不要抖机灵!不要抖机灵!不要抖机灵! 重要的事情说三遍 先找,题源:《程序员面试金典(第六版)》 然后翻评论区 @joswxe 站在巨人的肩膀上 核心思想就是倍增 乘法的本质是:加法 除法的本质是:减法 每次只需要把 乘数 or 除数 按照二进制拆开考虑 即可优化运
阅读全文
摘要:题目链接 力扣题解链接 解题思路 少用乘法,到不用乘法 思路〇可以忽略, 就图一乐 思路〇:计算空间开销 申请一个大小为$a×b$的数组 计算其大小,并返回 class Solution { public: int multiply(int A, int B) { bool a[A][B]; ret
阅读全文