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

搭建asp虚拟主机网站湖南建筑信息网查询

搭建asp虚拟主机网站,湖南建筑信息网查询,wordpress柒比贰主题,企业宣传方案模板前言#xff1a;模拟题的特点在于没有什么固定的技巧#xff0c;完全考验自己的代码能力#xff0c;因此有助于提升自己的代码水平。如果说一定有什么技巧的话#xff0c;那就是有的模拟题能够通过找规律来简化算法。 一#xff1a;替换所有问号 题目要求#xff1a; 解…前言模拟题的特点在于没有什么固定的技巧完全考验自己的代码能力因此有助于提升自己的代码水平。如果说一定有什么技巧的话那就是有的模拟题能够通过找规律来简化算法。 一替换所有问号 题目要求 解题思路 思路首先遍历字符串s找寻字符 ?找到后将a拷贝给该位置并循环直到中间字母和左右字母均不相同。 细节左端点和右端点需要单独考虑 实现代码 string modifyString(string s) {int n s.size();for(int i 0; i n; i){if(s[i] ?){for(char ch a; ch z; ch){if((i 0 || ch ! s[i-1]) (i n-1 || ch ! s[i1])){s[i] ch;break;}}}}return s;} 分析if((i 0 || ch ! s[i-1]) (i n-1 || ch ! s[i1])); 该串代码 一个条件涵盖三种情况 ①左端点 i 0; ch ! s[i1]; ②右端点 i n-1;ch !s[i-1]; ③中间点 ch !s[i-1];ch ! s[i1]; 学无止境 :-( 二提莫攻击 题目要求 解题思路 思路 定义一个变量total用于记录总共的中毒时间。 当攻击间隔 中毒时间totald; 当攻击间隔    中毒时间total(攻击间隔的时间); 最后返回时totald因为最后一次的中毒时间一定是吃满的。 实现代码 int findPoisonedDuration(vectorint timeSeries, int duration) {int n timeSeries.size();int total 0;for(int i 0; i n-1; i){int gap timeSeries[i1] - timeSeries[i];if(gap duration){totalduration;}else{total gap;}}return totalduration;} 三Z字形变换 题目要求 解题思路 思路这道题就是模拟题中典型的通过找规律来简化代码以下通过下标来找寻规律。 实现代码 string convert(string s, int numRows) {if(numRows 1) return s;int n s.size();int gap numRows*2 - 2;int gap1 gap;int gap2 0;string tmp;for(int i 1; i numRows; i){int j i-1;while((i 1 || i numRows) j n){tmps[j];jgap; }while(i 1 i numRows j n){tmp s[j];j gap1;if(j n){tmp s[j];j gap2;}}gap1 - 2;gap2 2;}return tmp;} 四外观数列 题目要求 解题思路 分析本题的难点(对编者我而言)在于把题目看懂 除了1对于其他数字而言下一个数字是对上一个数字的解释 即 countAndSay(1) 1;   countAndSay(2) 1 的行程长度编码 11       解释一个1 countAndSay(3) 11 的行程长度编码 21     解释一个2一个1 countAndSay(4) 21 的行程长度编码 1211 解释一个1一个2两个1  最后输出n对应的行程长度编码。 思路 定义一个变量 string s 外循环遍历1~n内循环遍历s通过双指针法(pre cur)记录每个数字出现的次数将数字以及其对应出现的个数分别记录到 string tmp中当该次循环结束时将 tmp 赋值给 s 同时tmp清空tmp用于记录下次循环的行程长度编码。 实现代码 string countAndSay(int n) {string s(1);for(int i 1; i n; i){int pre 0;int cur 0;string tmp;while(cur s.size()){int count 0;while(cur s.size() s[cur] s[pre]){count;cur;}tmp to_string(count) s[pre];pre cur;}s tmp;tmp.clear();}return s;} to_string:将其他数据类型转换成string型 五数青蛙 题目要求 解题思路 分析         每一只青蛙都必须叫出完整的一声 croak但是可能存在示例2这样的情况一只青蛙没叫完另一只青蛙叫了。         示例3不是有效的蛙声组合。因为一声完整的蛙声组合是 croak也就是说o的前面一定有一个字符r而示例3当连续两个o中第一个o已经和前面一个r组成了一对而第二个o前面没有r了因此不符合蛙声(croak)的字符组合         思路 定义一个 string s; 用于保存蛙声“croak” 定义一个 unordered_mapchar,int haxi 让字母与下标建立映射关系 注此时 int index haxi[字符] 就可以找到字符对应的下标 定义一个 vectorint tmp(s.size()) 下标从0开始到4依次对应 c ~ k 五个字符以及其对应出现的个数 通过上述定义就得到了如图所示的映射关系 外循环遍历字符串croak0fFrogs 当遍历到除‘c’以外的其他字符时判断 tmp中前一个字符是否大于0 若大于0则tmp[index]; tmp[index-1]--; 若等于0则说明当前字符串不是有效组合直接返回-1 循环结束时此时 字符k的个数即为当前青蛙个数 当遍历到字符c时情况比较特殊: ①如果k0说明这是某只青蛙第一次叫tmp[index] ②如果k!0说明这可能是某只青蛙第二次叫因此tmp[haxi[k]]--,tmp[index]; 当上述循环结束时要判断tmp中除k以外是否存在其他字符若存在则返回-1。 实现代码 string s croak;int n s.size();vectorint tmp(n);unordered_mapchar,int haxi;for(int i 0; i n; i){haxi[s[i]] i; //建立哈希表中的映射关系}for(auto w : croakOfFrogs){int index haxi[w];if(w c){if(tmp[n-1] 0){tmp[n-1]--; }tmp[0];}else{if(tmp[index-1] 0){tmp[index-1]--;tmp[index];}else{return -1;}}}for(int i 0; i n-1; i){if(tmp[i] 0){return -1;}}return tmp[n-1];} 注博主尚未学习haxi表这道题是haxi算法的第一次浅尝试通过哈希表建立字符与下标之间的映射关系再通过vectorint 统计个数。不同字符→对应下标→对应个数。
http://www.hkea.cn/news/14549176/

相关文章:

  • 用单位的服务器做网站长沙市网页设计公司
  • 钓鱼网站在线制作赚钱链接网站
  • 做网站软件下载建设招标网官方网站电脑版
  • 北京市网站公司网站重庆网站设计公司
  • 有哪些做头像的网站现在做电商还能赚钱吗
  • 怎么做视频网站的seogif网站素材
  • 网站建设销售需要哪些php网站忘记后台密码
  • 小票在线生成小程序seo公司服务
  • 建网站要使用哪些软件最大免费发布平台
  • 如何进入官方网站安徽安庆天气预报15天
  • 湖北建设执业注册中心网站高端模版网站
  • 义乌做网站哪个公司好公司网站建设的范文
  • 阿里云虚拟主机做多个网站查询icp备案跟接入的网站
  • 国家建设部投诉网站网站建设中面包屑导航的特点
  • wordpress搭建企业网站专做电器的网站
  • 青岛做网站哪家专业网址关键词查询
  • 注册公司网站源码二级域名分发
  • 主机屋网站空间的IP莱芜在线论坛话题莱芜都市网
  • 常熟建设设银行网站建网站用什么工具
  • 网站的运营方案绿色建筑网站
  • 做网站页面的软件网站引导页动态效果怎么做的
  • 河南艾特 网站建设电商运营网站 建设
  • 以下不属于网站建设优化怎样做外贸网站建设
  • 在服务器上搭建网站阿里云1核2g服务器能建设几个网站
  • 做网站备案郑州最好的设计公司
  • 济南网站制作价格建设部的网站
  • 商城网站建设精英手机优化管家
  • 济南网站建设第六网建营销型网站设计工资
  • 网站建设配置文件无法粘贴泰安营销网站建设
  • 企业管理网站模板品牌vi