当前位置: 首页 > news >正文

织梦网站统计代码网站登录页面怎么做的

织梦网站统计代码,网站登录页面怎么做的,在线制作网站,哪个做图网站可以挣钱文章目录 1、全排列2、子集3、找出所有子集的异或总和再求和4、全排列 II5、电话号码的字母组合6、括号生成 1、全排列 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 class Solution { public:vector<vector<i…

文章目录

  • 1、全排列
  • 2、子集
  • 3、找出所有子集的异或总和再求和
  • 4、全排列 II
  • 5、电话号码的字母组合
  • 6、括号生成

1、全排列

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。
在这里插入图片描述

class Solution {
public:vector<vector<int>> ret;vector<int> path;//vector<bool> sign(7);并不能使用它,它并不能使用[],底层储存问题bool sign[7];vector<vector<int>> permute(vector<int>& nums) {dfs(nums);return ret;}void dfs(vector<int>& nums){if(nums.size()==path.size()){ret.push_back(path);return;}for(int i=0;i<nums.size();i++){if(sign[i]==false){path.push_back(nums[i]);sign[i]=true;dfs(nums);path.pop_back();sign[i]=false;}}}
};

2、子集

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的
子集(幂集)。
解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。
在这里插入图片描述

class Solution {
public:vector<vector<int>> ret;vector<int> path;vector<vector<int>> subsets(vector<int>& nums) {dfs(nums,0);return ret;}//解法一// void dfs1(vector<int> nums,int i)// {//     if(i==nums.size())//     {//         ret.push_back(path);//         return;//     }//     //选//     path.push_back(nums[i]);//     dfs(nums,i+1);//     path.pop_back();//     //不选//     dfs(nums,i+1);// }//解法二void dfs(vector<int> nums,int pos){ret.push_back(path);for(int i=pos;i<nums.size();i++){path.push_back(nums[i]);dfs(nums,i+1);path.pop_back();}}
};

3、找出所有子集的异或总和再求和

一个数组的 异或总和 定义为数组中所有元素按位 XOR 的结果;如果数组为 空 ,则异或总和为 0 。
例如,数组 [2,5,6] 的 异或总和 为 2 XOR 5 XOR 6 = 1 。
给你一个数组 nums ,请你求出 nums 中每个 子集 的 异或总和 ,计算并返回这些值相加之 和 。
注意:在本题中,元素 相同 的不同子集应 多次 计数。
数组 a 是数组 b 的一个 子集 的前提条件是:从 b 删除几个(也可能不删除)元素能够得到 a 。
在这里插入图片描述

class Solution {
public:// vector<int> ret;// vector<int> path;// int subsetXORSum(vector<int>& nums) {//     dfs(nums,0);//     int sum=0;//     for(int i=0;i<ret.size();i++)//     {//         sum+=ret[i];//     }//     return sum;// }// void dfs(vector<int> nums,int pos)// {//     int sum=0;//     for(int i=0;i<path.size();i++)//     {//         sum^=path[i];//     }//     ret.push_back(sum);//     for(int i=pos;i<nums.size();i++)//     {//         path.push_back(nums[i]);//         dfs(nums,i+1);//         path.pop_back();//     }// }int sum=0;int path=0;int subsetXORSum(vector<int> nums){dfs(nums,0);return sum;}void dfs(vector<int> nums,int pos){sum+=path;//每次开始的节点都是我们需要的for(int i=pos;i<nums.size();i++){path^=nums[i];dfs(nums,i+1);path^=nums[i];//恢复现场}}
};

4、全排列 II

给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。
在这里插入图片描述

class Solution {
public:vector<vector<int>> ret;vector<int> path;bool check[8];vector<vector<int>> permuteUnique(vector<int>& nums) {sort(nums.begin(),nums.end());//方便后面处理分支dfs(nums,0);return ret;}void dfs(vector<int> nums,int pos){if(pos==nums.size())ret.push_back(path);for(int i=0;i<nums.size();i++){//剪枝方法一,只关心合法分支// if(check[i]==false&&(i==0||nums[i]!=nums[i-1]||(check[i-1]==true&&nums[i]==nums[i-1])))// {//     check[i]=true;//     path.push_back(nums[i]);//     dfs(nums,pos+1);//     check[i]=false;//     path.pop_back();// }//剪枝方法二,只关心不合法分支if(check[i]==true||(i!=0&&nums[i]==nums[i-1]&&check[i-1]==false))continue;check[i]=true;path.push_back(nums[i]);dfs(nums,pos+1);check[i]=false;path.pop_back();}}
};

5、电话号码的字母组合

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
在这里插入图片描述


class Solution {
public:string hash[10]={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};vector<string> ret;string path;vector<string> letterCombinations(string digits) {if(digits.empty())return ret;dfs(digits,0);return ret;}void dfs(string digits,int pos){if(pos==digits.size()){ret.push_back(path);return;}for(auto a : hash[digits[pos]-'0']){path.push_back(a);dfs(digits,pos+1);path.pop_back();}}
};

6、括号生成

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
在这里插入图片描述

class Solution {
public:int left,right,n;vector<string> ret;string path;vector<string> generateParenthesis(int _n) {n=_n;dfs();return ret;}void dfs(){if(right==n){ret.push_back(path);return;}if(left<n){path.push_back('(');left++;dfs();path.pop_back();left--;}if(right<left){path.push_back(')');right++;dfs();path.pop_back();right--;}}
};
http://www.yayakq.cn/news/860804/

相关文章:

  • 黄岛开发区网站制作国家允许哪几个网站做顺风车
  • 设计素材网站无版权wordpress如何更改页脚背景颜色
  • 上海建设网站的公司注册装修公司需要什么条件和资料
  • 做网站每年包多少流量连云港网站开发公司
  • 阜阳北京网站建设广告公司常用软件
  • 企业建设网站个人总结报告互联网建站网站
  • 金融交易网站开发网站搜索引擎推广怎么做
  • 苏州相城网站建设丹阳信息网
  • 杭州群游科技网站做的魔域电脑经销部开具网站建设费
  • 在线动画手机网站模板下载建设部网站八大员查询
  • 建网站 赚钱高端网站建设 房产
  • 网站 邮箱功能 设置合肥市城乡建设局网站首页
  • 做鼻翼整形整形的网站移动网站建站系统下载
  • 设计本官方网站电脑版李字logo创意设计
  • 做年会的网站vs2017 asp网站开发
  • 公司网站建设哪里好网站开发看掉一些功能
  • 做团购网站哪家好些php订餐网站开发文献
  • 怎么用阿里云服务器做网站Sql 发wordpress
  • 网站网页切换怎么做重庆建设工程信息网安全监督
  • 网站 搜索引擎 提交龙岗做网站的
  • 安徽整站优化WordPress建站 网盘视频
  • 安全狗iis版删了以后 网站打不开微网
  • 江苏省 前置审批 网站软件开发平台协议
  • 百度网站权重排行网站建设公司知道万维科技
  • 视频网站后台登陆wordpress二级目录伪静态
  • 免费建站平台官网品牌推广和品牌营销
  • 可拖拽网站用宝塔做网站
  • 深圳网站建设服务提供商照片网站模版
  • 怎么做wp网站网页制作模板关于我们
  • 河津网站制作如何让网站被百度收录