常见题的解法
Silent_Blue_Sky
欢迎留言讨论
展开
-
c++ python @cache 的模仿
那么c++ 可不可以相对方便的像 python那样 稍微加亿点点代码实现 从暴力搜索到 记忆化搜索的 华丽的转身了,那就有了下面这个拙劣的模仿。在B站讲题, 当时的反应就是一脸震惊, 看着我c++ dfs 没有记忆化的代码陷入了沉思。第一次看到python @cache 魔法的时候是在看。3、修改 , 我们会发现, 代码基本上一样的。1、将上面的代码拷贝到代码文件。2、写出暴力dfs的代码。原创 2024-04-26 13:07:13 · 454 阅读 · 0 评论 -
c++ 斐波那契数列不一样的解法(O(1))(爬楼梯问题)
constexpr int MAX_N = 50;vector<size_t> res(MAX_N + 1);template<size_t N>struct AA { static constexpr size_t value = AA<N - 1>::value + AA<N - 2>::value; AA() { AA<N - 1> temp; res[N] = value; }原创 2021-08-17 20:47:37 · 223 阅读 · 0 评论 -
c++ 数组内是否存在递增三元组
#include <iostream>#include <utility>#include <string>#include <cstring>#include <vector>#include <map>#include <set>#include <stack>#include <queue>#include <unordered_map>#include <原创 2021-08-03 11:50:58 · 175 阅读 · 0 评论 -
n皇后 最快算法
1、 求 n 皇后总数class Solution {public: int upperlimit = 0; int sum = 0; /* 从第一行开始能放的位置, 并置为 1 now 记录了当前哪些列放了皇后 ld 记录了 45 度方向放皇后的列 rd 记录了 135 度方向放皇后的列 */ void test(int now, int left, int right) { if (now == upperlimit) {原创 2021-04-01 11:12:47 · 193 阅读 · 0 评论 -
编辑距离
题目:给定字符串 source, target, 求 source 编辑成 target 的最短消耗,即编辑距离替换一个字符 rc = 3删除一个字符 dc = 3;增加一个字符 ac = 6;#include <iostream>#include <stack>#include <vector>#include <unordered_map>using namespace std;int dc = 3;int rc = 3;int原创 2021-03-02 12:31:07 · 71 阅读 · 0 评论 -
滑动窗口问题
滑动窗口问题https://leetcode-cn.com/problems/sliding-window-maximum/solution/ vector<int> maxSlidingWindow(vector<int> &nums, int k) { vector<int> res; slidingWindows r(nums, k, greater<int>()); res.push_back原创 2020-10-14 12:48:58 · 122 阅读 · 0 评论 -
最大连续子序列最大和的四种解法
// 问题一: 连续子序列和问题 // 解法一: 暴力求解 // 时间组复杂度 O(n^3)int maxSubSequenceSum1(int* source, int n) { if(source == NULL || n <= 0) { return 0; } int maxSum = 0; for (int i = 0; i <原创 2017-10-02 16:00:32 · 551 阅读 · 0 评论 -
快速幂的实现
// 问题二: 快速幂// 时间复杂度 O(logn)int Pow(int x, int n) { if(n == 0) { return 1; } if(n & 0x1) { return Pow(x*x,n >> 1) * x; } else { return Pow(x * x, n >> 1); }原创 2017-10-02 21:29:02 · 134 阅读 · 0 评论