- 博客(12)
- 收藏
- 关注
原创 水水水水水tese
#include using namespace std;// g++ Untitled-2.cpp -fno-elide-constructorsclass Base {int data;public:Base(int input = 100) : data(input){cout << “Base one construct!” << endl;}Base(const Base &in) : data(in.data){cout <<
2021-12-12 19:14:28
351
原创 20210611 每日一题 完全平方数
题目代码方法一:一维动态规划分析代码复杂度分析拓展题目题目链接代码class Solution {public: int numSquares(int n) { }};方法一:一维动态规划分析该题目是一道典型的完全背包,设定一维数组 dp[i]dp[i]dp[i] 表示构成 iii 的完全平方数的最少数量,当 i=0i = 0i=0 时,只有一种情况,即 dp[0]=0dp[0] = 0dp[0]=0,因为本题目是找最小值,因此其余初始值为 INT_MAXINT\_M.
2021-07-08 20:21:07
192
原创 20210610 每日一题 零钱兑换 II
题目代码方法一:二维动态规划分析要点代码复杂度分析方法二:一维动态规划分析代码复杂度分析拓展题目题目链接代码class Solution {public: int change(int amount, vector<int>& coins) { }};方法一:二维动态规划分析设定二维数组 dp[i][j]dp[i][j]dp[i][j] 表示使用前编号 iii 的硬币中,可以得到总金额为 jjj 的组合数,二维数组 dp[0][0]=1dp[0][.
2021-07-08 16:22:32
137
原创 20210609 每日一题 盈利计划
题目代码方法一:三维动态规划分析代码复杂度分析方法二:二维动态规划分析要点代码复杂度分析方法三:转换动态规划分析要点代码复杂度分析拓展题目题目链接代码class Solution {public: int profitableSchemes(int G, int P, vector<int>& group, vector<int>& profit) { }};方法一:三维动态规划分析该题目是一道典型的多维背包问题,设定三维数组 .
2021-07-07 23:00:36
124
1
原创 20210608 每日一题 最后一块石头的重量 II
题目代码方法一:二维动态规划分析代码复杂度分析方法二:一维动态规划分析要点代码复杂度分析拓展题目题目链接代码class Solution {public: int lastStoneWeightII(vector<int>& stones) { }};方法一:二维动态规划分析假设数组的元素和为 sumsumsum,添加 +++ 号的元素之和为 aaa,添加 −-− 号的元素之和为 bbb,得到的表达式的结果为:a+b=suma−b=target\b.
2021-07-05 16:19:42
111
原创 20210607 每日一题 目标和
题目代码方法一:DFS 深度优先搜索分析代码复杂度分析方法二:记忆化搜索分析代码复杂度分析方法三:二维动态规划分析代码复杂度分析方法四:一维动态规划分析要点代码复杂度分析拓展题目题目链接代码class Solution {public: int findTargetSumWays(vector<int>& nums, int target) { }};方法一:DFS 深度优先搜索分析题目中可以选择向数组中的每个整数前添加 +++ 或 −-−,所以可.
2021-07-04 21:09:04
166
原创 20210606 每日一题 一和零
题目代码方法一:动态规划分析代码复杂度分析方法二:状态压缩动态规划分析要点代码复杂度分析优化代码拓展题目题目链接代码class Solution {public: int findMaxForm(vector<string>& strs, int m, int n) { }};方法一:动态规划分析题目是一个多维背包问题,把总共的 000 和 111 的个数视为背包的容量,每一个字符串视为装进背包的物品,因此需要使用三维动态规划求解,三个维度分别是字.
2021-07-02 23:57:01
169
原创 20210605 每日一题 移除链表元素
题目代码方法一:迭代分析代码复杂度分析方法二:递归分析代码复杂度分析拓展题目题目链接代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * Lis.
2021-07-01 23:01:19
103
2
原创 20210604 每日一题 相交链表
20210604 每日一题 连续数组题目代码方法一:哈希表分析代码方法二:双指针分析代码要点复杂度分析拓展题目题目链接代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: Lis
2021-06-23 12:30:56
100
原创 20210603 每日一题 连续数组
20210603 每日一题 连续数组题目代码方法一:前缀和+哈希表分析代码要点复杂度分析拓展题目题目链接代码class Solution {public: int findMaxLength(vector<int>& nums) { }};方法一:前缀和+哈希表分析朴素思路:当数组 numsnumsnums 的长度为 nnn 时,使用 O(n2)O(n^2)O(n2)的时间遍历遍历数组 numsnumsnums 的全部子数组,对于每个子数组需要 O(
2021-06-16 20:22:27
80
原创 20210602 每日一题 连续的子数组和
20210601 每日一题题目代码方法一:前缀和分析代码要点复杂度分析拓展题目题目链接代码class Solution {public: vector<bool> canEat(vector<int>& candiesCount, vector<vector<int>>& queries) { }};方法一:前缀和分析每天吃糖果的落在区间:[1,dailyCap][1, dailyCap][1,daily
2021-06-14 15:43:36
58
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人