LeetCode216:组合总和Ⅲ

题目描述: 方法1:回溯,注(for循环中,回溯时,记得加上sum -= i) class Solution { public: vector<int> data; vector<vector<int>> result; void backtrack(int n,int k


LeetCode77:组合

题目描述: 方法1:回溯,startIndex来记录下一层递归,搜索的起始位置 class Solution { public: void backtrack(int n,int k,int StartIndex,vector<vector<int>>&result,vector<int>d


LeetCode494:目标和

题目描述: 方法1:回溯算法 方法2:动态规划 sum是固定的,target也是固定的,有式子left + right = sum,left - right = target,设left为背包容量,装满left背包的策略总数即为题解,left = (target + sum) / 2 初始dp[i]


LeetCode1049:最后一块石头的重量Ⅱ

题目描述: 方法1:转化为背包问题,把石头尽可能分成两堆,求两堆石头重量差最小值,进一步转化为,将石头放进容量为sum/2的背包中,最大价值为MaxValue,最后(sum - MaxValue) - MaxValue即为题解 class Solution { public: int las


LeetCode416:分割等和子集

题目描述: 方法1:把题目修改为0-1背包问题,nums[i] 为物品i的重量与价值,背包容量为nums元素之和的一半,如果装的最大价值为背包容量,则返回true class Solution { public: bool canPartition(vector<int>& nums) {


LeetCode94:二叉树中序遍历

题目描述:左根右的遍历方式 方法1:递归 class Solution { public: void inorder(TreeNode* root,vector<int>value){ if(!root) return; inorder(root->left,


卡码网第46题:01背包

链接:https://kamacoder.com/problempage.php?pid=1046 题目描述: 方法1:二维dp解决背包问题 #include<iostream> #include<vector> #include<cmath> using namespace std; int s


0-1背包问题理论基础

题目描述:有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 例子:背包重量为4 方法1:二维dp 1:确定dp数组,dp[i][j] 表示从下标为[0-i]的物品里任意取,放


前端初始化Vite项目环境

通过npm安装yarn npm install -g yarn 在一个新文件夹中创建vite项目(此时会创建失败) yarn create vite 修改全局安装目录、缓存目录、yarn bin位置,使他们保持一致,再次创建,创建成功 yarn config set global-folder "D


Git

基本概念 分布式版本控制系统,所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户即可。 Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Rep