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

月子会所 网站源码网站一定要公司吗

月子会所 网站源码,网站一定要公司吗,培训页面设计师,html门户网站题目 面试题 08.08. 有重复字符串的排列组合 - 力扣(LeetCode) Python class Solution:def permutation(self, S: str) -> List[str]:# 以索引记录字符是否用过lelen(S)idx[_ for _ in range(le) ]# 组合得到的字符串combine[]*leans[]# 递归def fu…

题目

面试题 08.08. 有重复字符串的排列组合 - 力扣(LeetCode)

Python

class Solution:def permutation(self, S: str) -> List[str]:# 以索引记录字符是否用过le=len(S)idx=[_ for _ in range(le) ]# 组合得到的字符串combine=['']*leans=[]# 递归def fun(pos,choice):"""pos:索引,层数choice:可以选择的索引,choice使用集合,因为可以用减法"""if pos==le and (''.join(combine) not in ans):# 当pos=le-1时,combine[pos]还没写字符,故结束条件不为pos==le-1ans.append(''.join(combine))return # 归# 递for _ in list(choice):combine[pos]=S[_] # 当前层,即pos层fun(pos+1,choice-{_})  #下一层,即pos+1层fun(0,set(idx))return ans

C++

交换字符串元素求不同全排列

若字符串长度为n,将第一个字母分别与后面每一个字母进行交换,生成n种不同的全排列;再用第二个元素与后面每一个元素进行交换,生成n - 1种不同的全排列。

对于此题需要用一个Set集合来存放已经交换过的重复元素。

class Solution {
public:void dfs(vector<string>& ans,string& s,int idx){if(idx==s.size()){ans.push_back(s);return ;}set<char> record;for (int i=idx;i<s.size();i++){if(record.find(s[i])==record.end())  //集合里没有此字符{record.insert(s[i]);  //记录字符swap(s[idx],s[i]);  //交换dfs(ans,s,idx+1);swap(s[i],s[idx]);  //又换回来,复原}}}vector<string> permutation(string S) {vector<string> ans;dfs(ans,S,0);return ans;}
};

C语言

/*** Note: The returned array must be malloced, assume caller calls free().*/#include <string.h>void swap(char *a,char *b){char t;t=*a;*a =*b;*b=t;}int dfs(char *tmp,int len,int idx,char **ans,int *returnSize)
{char used_char[27]; //使用过的字母,26个字母+'\0'=27int j;int usedi=0;if(idx>=len-1){strcpy(ans[(*returnSize)++],tmp);return 0;}for(int i=idx;i<len;i++){if(usedi==0) used_char[usedi++]=tmp[i];else{for(j=0;j<usedi;j++) if(used_char[j]==tmp[i]) break;if(j>=usedi) used_char[usedi++]=tmp[i];else continue;}swap(&tmp[i],&tmp[idx]);dfs(tmp,len,idx+1,ans,returnSize);swap(&tmp[i],&tmp[idx]);}return 0;
}char** permutation(char* S, int* returnSize)
{char **ans,*tmp;int len=strlen(S);int i;int idx;//p_num为排列组合的总数tmp=(char *)malloc(sizeof(char)*(len+2));strcpy(tmp,S);ans=(char **)malloc(sizeof(char *)*1000);for( i=0;i<1000;i++){ans[i]=(char*)malloc(sizeof(char)*(len+1));}idx=0;*returnSize=0;dfs(tmp,len,idx,ans,returnSize);return ans;
}

http://www.yayakq.cn/news/484345/

相关文章:

  • ico 众筹网站开发wordpress主题摄影
  • 新乡百度网站推广工具电子商务有限公司简介
  • wordpress做管理网站吗口碑好的家装前十强
  • 个体户备案网站可以做企业站吗yandex引擎搜索入口
  • 网站策划运营网址导航怎么删除
  • 网站开发语言用什么好无锡免费做网站
  • 青岛一品网站建设协会网站建设的作用
  • 灌南网站定制网站建设及管理
  • 能被百度收录的建站网站html制作个人简历代码案例
  • asp.net网站开发简明教程wordpress数据库修改密码
  • 网站底部图片代码做网站的图片字虚
  • asp.net网站开发基础网上做网站的
  • 怎么形容网站做的好高端网站建设推来客网络
  • 济宁建设局网站招聘会创新的龙岗网站建设
  • 刘晓忠 网站建设线上推广平台报价
  • 济南网站优化推广公司wordpress的数据库主机
  • 汕头专业的免费建站网站后台统计代码
  • 网页设计与网站建设课设网站如何在google提交收录
  • 网站推广的基本手段东莞新增活动轨迹
  • 北京建站公司兴田德润很赞湖南营销型网站建设多少钱
  • 怎么查看自己网站有没有做301游戏发号网站源码
  • 网站建设手机银行限额响应式网站报价
  • 官方网站建设 省心磐石网络外贸网络推广信
  • 石家庄网站定制旅游电子商务 网站建设
  • 保定网站建设方案优化怀化网站网站建设
  • 企业网站怎么维护网校系统搭建
  • 怎么做网站百度经验湖南网站排名
  • 网站开发工资一般多少钱厦门建设局网站2018
  • 天津高自考网站建设与实践2017ui设计学习
  • 公司商标设计网站公司建设网站需求