11 2021 档案
摘要:思路分析 : 比较好想到的是用尺取法来做,但是数据有负数,如何还是按正常的尺取法做,那么得到的答案有可能不是最优解 那么我们可以用单调队列来求解,单调队列中保存前缀和 代码示例: class Solution { public: int shortestSubarray(vector<int>& n
阅读全文
摘要:思路分析 : dp[i][j][0] 表示到第 i 天,交易了 k 支股票,并且手上未持股的最大收益 dp[i][j][1] 表示到第 j 天,交易了 k 支股票,并且手上持股的最大收益 代码分析 : class Solution { public: int maxProfit(int k, vec
阅读全文
摘要:谷歌学术镜像:https://sc.panda321.com/ p_value: https://www.graphpad.com/quickcalcs/binomial1.cfm
阅读全文
摘要:https://leetcode-cn.com/problems/edit-distance/ 思路分析: dp[i][j] 表示第一个串在 i 位置,第二个串在 j 位置时,两个串若想保持一致最小的操作次数 dp[i][j-1] 表示插入一个新的字符,dp[i-1][j] 表示删去一个字符,dp[
阅读全文
摘要:思路分析 : 最后的答案一定是介于 1~n+1 之间,那么就可以将不在这个范围的数都变为 n+1,对于每个位置的数,不断的交换到它应该所在的位置 参考代码: class Solution { public: int firstMissingPositive(vector<int>& nums) {
阅读全文
摘要:代码: class Solution { public: long long get_prefix(long long prefix, long long n){ long long x = prefix; long long y = prefix + 1; long long sum = 0; w
阅读全文