WordPress文章无法打开如何优化m网站
2026/1/24 7:38:05 网站建设 项目流程
WordPress文章无法打开,如何优化m网站,龙岗建设局网站,百度搜索什么关键词排名输入#xff1a;nums [1,2,3] 输出#xff1a;[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 注意点#xff1a; 组合问题和分割问题都是收集树的叶子节点#xff0c;而子集问题是找树的所有节点#xff01;那么既然是无序#xff0c;取过的元素不会重复取#xff0c;…输入nums [1,2,3]输出[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]注意点组合问题和分割问题都是收集树的叶子节点而子集问题是找树的所有节点那么既然是无序取过的元素不会重复取写回溯算法的时候for就要从startIndex开始而不是从0开始代码根据回溯三部曲参数、终止条件、单层递归逻辑写出代码代码#includeiostream #includevector using namespace std; class Solution { private: vectorvectorint result; // 存储所有子集的结果集 vectorint path; // 存储当前正在构建的子集路径 // 回溯函数生成所有子集 // nums: 输入的数字数组 // startIndex: 当前递归开始选择的起始索引避免重复选择 void backtracking(const vectorint nums, int startIndex){ // 终止条件1当当前路径长度等于原数组长度时 // 说明已构建了一个包含所有元素的子集即原数组本身 if(path.size() nums.size()){ result.push_back(path); // 将完整子集加入结果 return; // 结束当前递归分支 } // 关键点每次进入递归都先将当前path加入结果 // 这样能收集所有中间状态的子集包括空集、部分子集 result.push_back(path); // 遍历所有可能的选择从startIndex开始到数组末尾 for(int i startIndex; i nums.size(); i ){ path.push_back(nums[i]); // 做选择将当前数字加入路径 backtracking(nums, i 1); // 递归以i1为起始点继续构建子集 path.pop_back(); // 撤销选择回溯移除最后加入的数字 } } public: vectorvectorint subsets(vectorint nums) { result.clear(); // 清空结果集避免之前的数据干扰 path.clear(); // 清空当前路径 backtracking(nums, 0); // 从索引0开始回溯 return result; // 返回所有子集 } }; int main(){ Solution S; vectorint nums {1, 2, 3, 4}; vectorvectorint res S.subsets(nums); for(auto row : res){ // 遍历每个组合 for(auto cols : row) // 遍历组合中的每个数字 cout cols ; // 输出数字 cout endl; // 每个组合后换行 } return 0; }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询