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

网站产品分类设计学校的网站开发过程

网站产品分类设计,学校的网站开发过程,邵阳建设银行网站,重庆景点介绍使用下面描述的算法可以扰乱字符串 s 得到字符串 t : 如果字符串的长度为 1 ,算法停止如果字符串的长度 > 1 ,执行下述步骤: 在一个随机下标处将字符串分割成两个非空的子字符串。即,如果已知字符串 s &#xff0c…

使用下面描述的算法可以扰乱字符串 s 得到字符串 t :

  1. 如果字符串的长度为 1 ,算法停止
  2. 如果字符串的长度 > 1 ,执行下述步骤:
    • 在一个随机下标处将字符串分割成两个非空的子字符串。即,如果已知字符串 s ,则可以将其分成两个子字符串 x 和 y ,且满足 s = x + y 。
    • 随机 决定是要「交换两个子字符串」还是要「保持这两个子字符串的顺序不变」。即,在执行这一步骤之后,s 可能是 s = x + y 或者 s = y + x 。
    • 在 x 和 y 这两个子字符串上继续从步骤 1 开始递归执行此算法。

给你两个 长度相等 的字符串 s1 和 s2,判断 s2 是否是 s1 的扰乱字符串。如果是,返回 true ;否则,返回 false 。

思路一:模拟题意

bool check(char *s1,char *s2,int len)
{char ss1[26]={0};char ss2[26]={0};char i=0;for (i=0;i<len;i++){ss1[s1[i]-'a']++;ss2[s2[i]-'a']++;}for(i=0;i<26;i++){if(ss1[i]!=ss2[i]) return false;}return true;
}
char mem[30][30][31];
bool complie(char *s1,char *s2,int len,int s1begin,int s2begin)
{if(mem[s1begin][s2begin][len]==1) return true;if(mem[s1begin][s2begin][len]==2) return false;if(len==0) return true;if(len==1) {mem[s1begin][s2begin][len]=1;return *s1==*s2;}if(!check(s1,s2,len)) {mem[s1begin][s2begin][len]=2;return false;}int i=0;for(i=1;i<len;i++){if(complie(s1,s2,i,s1begin,s2begin) && complie(s1+i,s2+i,len-i,s1begin+i,s2begin+i)) {mem[s1begin][s2begin][len]=1;return true;}if(complie(s1,s2+len-i,i,s1begin,s2begin+len-i) && complie(s1+i,s2,len-i,s1begin+i,s2begin)) {mem[s1begin][s2begin][len]=1;return true;}}mem[s1begin][s2begin][len]=2;return false;
}
bool isScramble(char * s1, char * s2){int len1=0;int len2=0;memset(mem,0,sizeof(mem));while(s1[len1]!=0){len1++;}while(s2[len2]!=0){len2++;}if(len1!=len2) return false;return complie(s1,s2,len1,0,0);
}

分析:

本题扰乱字符串满足交换两个子字符串或保持这两个子字符串的顺序不变,转换为complie(s1,s2,i,s1begin,s2begin) && complie(s1+i,s2+i,len-i,s1begin+i,s2begin+i)和complie(s1,s2+len-i,i,s1begin,s2begin+len-i) && complie(s1+i,s2,len-i,s1begin+i,s2begin),通过complie函数递归找到答案,同时两个字符串长度首先要相等,先判断两个字符串长度是否相等再进行递归返回答案

总结:

本题考察递归的应用,利用递归交换两个子字符串或保持这两个子字符串的顺序不变判断是否为扰乱字符串

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

相关文章:

  • 西安网址开发 网站制作网站集约化建设 要求
  • 郑州网站建设喝彩科技网站建设线框图
  • 潍坊高密网站建设免费好用的wordpress主题
  • 网站排名优化原理做网站的分析报告案例
  • 网站建设收费标准报价怎么做倒计时网站
  • 怎样创建网站赚钱网站做直播需要资质吗
  • 建设银行网站怎么不可登入在线免费做logo印章网站
  • 我下载的免费网站模版源代码是加密的培训方案及培训计划
  • 中兴豫建设管理有限公司网站网站建设实训报告模版
  • 商业网站域名wordpress评分
  • 源码下载网站网站建设与维护教学视频
  • ps做网站 字体多大社交网站是怎么做的
  • editplus网站开发外贸网站建设应该怎样选择语言
  • 电商网站总体设计方案建站费用参考
  • 怎么网上注册公司游戏优化大师
  • 网站的建设方式分类信息网站做推广
  • 中文网站欣赏wordpress图床推荐
  • 油漆网站设计集成微信的企业网站管理系统
  • 福州网站制作推广做内贸的网站
  • 网站开发行业推广西宁网站建设哪家强
  • 2018做网站开发一个月工资多少深圳有名的网站设计公司
  • 镇江市建设工程网站区县12380网站建设情况
  • 网站系统品牌网站制作建设
  • 如何才能看到国外的设计网站江门网站开发公司
  • 做网站的图片的内存建设平台网站协议
  • 徐州企业建站程序全屋整装家装
  • 遵义网站页设计制作平台做推广的技巧
  • 石家庄企业商城网站建设购物网站建设报价表
  • 用手机制作网站哪里建设网站不会被封
  • 深圳专业做网站技术wordpress添加主题不显示