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

郑州免费建站怎么用微信官方网站做二维码

郑州免费建站,怎么用微信官方网站做二维码,网站建设 中企动力 顺德,wordpress微信捐赠文章目录 一、算法原理二、算法实战1. leetcode1576 替换所有的问号2. leetcode495 提莫攻击3. leetcode6 N字形变换4. leetcode38 外观数列5. leetcode1419 数青蛙 三、总结 一、算法原理 模拟就是用计算机来模拟题目中要求的操作#xff0c;模拟题目通常具有代码量大、操作… 文章目录 一、算法原理二、算法实战1. leetcode1576 替换所有的问号2. leetcode495 提莫攻击3. leetcode6 N字形变换4. leetcode38 外观数列5. leetcode1419 数青蛙 三、总结 一、算法原理 模拟就是用计算机来模拟题目中要求的操作模拟题目通常具有代码量大、操作多、思路繁琐的特点。所谓的模拟题用一句老话所就是照着葫芦画瓢根据题目的表述进行筛选提取关键要素按需求书写代码解决实际问题。 二、算法实战 1. leetcode1576 替换所有的问号 替换所有的问号 解题思路 这是一道简单的模拟题意思是一个字符串中有 ? 字符将些字符替换为a ~ z中的任意一个字符后使得这个字符串中不会出现连续两个以上的连续字符。首先我们遍历这个字符串先找到字符 ? 的位置然后从a ~ z中从左往右开始遍历将该问号替换为其某个字符后看该位置左右是否一样如果不一样继续往后遍历寻找符合要求的字符。这里注意处理边界情况。 代码实现 class Solution { public:string modifyString(string s) {for(int i 0; i s.size(); i){if(s[i] ?){for(char ch a; ch z; ch){if((i 0 || ch ! s[i-1]) (i s.size()-1 || ch ! s[i1])){s[i] ch;break;} }}}return s;} };2. leetcode495 提莫攻击 提莫攻击 解题思路 首先扫描这个数组使用cnt统计答案timeSeries[i]表示此时攻击的开始点timeSeries[i1]表示下一次攻击的开始点。 timeSeries[i 1] - timeSeries[i] duration表示两次攻击重叠。cnttimeSeries[i 1] - timeSeries[i]。timeSeries[i 1] - timeSeries[i] duration表示两次攻击不重叠 cntduration。 因为最后一次攻击是肯定会持续完的所以我们扫描数组的时候只需要扫描前n-1个元素。但是最后返回结果时候需要返回cntduration。 代码实现 class Solution { public:int findPoisonedDuration(vectorint timeSeries, int duration) {int cnt 0;for(int i 0; i timeSeries.size() - 1; i){int tmp timeSeries[i 1] - timeSeries[i];if(tmp duration)cnt tmp;elsecnt duration;}return cnt duration;} };3. leetcode6 N字形变换 N字形变换 解题思路 首先我们应该先搞清楚从原字符串到目标字符串是如何变换而来的。 我们可以看到这个过程先将该字符串以N字形的顺序依次填入一个二维数组中然后将该二维数组中的内容从上到下一行一行拼接起来即可。这里我们可以从中找一些规律出来 代码实现 class Solution { public:string convert(string s, int numRows) {string ret ;if(numRows 1)return s;int sub 2*numRows - 2;for(int i 0; i numRows; i){// 处理第一行和最后一行if(i 0 || i numRows-1){for(int j i; j s.size(); j sub){ret s[j];}}else{// 处理中间行for(int k i, p sub - k; k s.size() || p s.size(); k sub, p sub){if(k s.size()) ret s[k];if(p s.size()) ret s[p];}}}return ret;} };4. leetcode38 外观数列 外观数列 解题思路 题目告诉了我们数列的每一项的变换过程是通过上一项推导出来的因此我们可以根据上一项模拟数列每一项的形成过程。在数列每一项的模拟过程中我们依然使用滑动窗口的算法原理来实现。 代码实现 class Solution { public:string countAndSay(int n) {// 使用双指针算法进行模拟string start 1;while(--n){string tmp;for(int left 0, right 0; left start.size(); right){if(start[left] ! start[right]){tmp to_string(right - left);tmp start[left];left right;}}start tmp;}return start;} };5. leetcode1419 数青蛙 数青蛙 解题思路 这道题目属于典型的比较难的模拟题先开一个哈希表然后将croak按照char, int的方式映射进哈希表这里的int指的是croak中字符的下标。开一个cnt来计数统计每一个字符出现的次数。 从前向后遍历字符串如果chc说明需要一只青蛙开始发出蛙鸣如果前面统计cnt[n - 1]这里的n-1表示croak字符串的最后一个’k’的下标意思是如果cnt[n - 1]已经出现过了说明前面有一只青蛙已经将croak这个字符串全部叫了一遍那么我们让前面的青蛙继续从头开始叫就可以了不需要增加青蛙的数量因此让cnt[n - 1]--cnt[0]如果cnt[n - 1] 0, 则直接让cnt[0]。 如果ch!c则说明一只青蛙正在发出蛙鸣的过程中此时我们让此时青蛙发出蛙鸣的字符的前一个字符的下标cnt[c前面的字符]- -然后让正在遍历的字符数量cnt[c]如果中途发现cnt[c前面的字符] 0 说明该字符连续出现了两次以上或者字幕出现的顺序有问题。直接返回-1即可。 最后我们统计的时候只需要关心croak中最后一个’k’出现了几次即可同时我们还需要遍历cnt中除最后一个元素外看前面的字母出现的次数是否为0若不为0说明字幕出现的顺序不符合要求直接返回-1。 代码实现 class Solution { public:int minNumberOfFrogs(string croakOfFrogs) {string t croak;int n t.size();vectorint cnt(n);unordered_mapchar, int hash;for(int i 0; i n; i) hash[t[i]] i;for(char ch : croakOfFrogs){if(ch c){if(cnt[n - 1]) cnt[n - 1]--;cnt[0];}else{int i hash[ch];if(cnt[i - 1])cnt[i - 1]--, cnt[i];else return -1;}}for(int i 0; i n - 1; i)if(cnt[i] ! 0) return -1;return cnt[n - 1];} };三、总结 模拟的过程就是对真实场景尽可能的模拟但我们需要注意的是模拟题并没有我们所想象的那么简单它的代码中可能会有很多的坑我们在写模拟算法的过程中需要谨慎。
http://www.hkea.cn/news/14313567/

相关文章:

  • 重庆哪个网站建设比较好响应式网站建设公司
  • 一朋友做网站网站被抓了h5游戏搭建
  • 集团网站建设方案书手机网站建设林肖
  • 简述网站建设在作用WordPress的FTP登录凭据
  • 网站网页设计html公司网站建设吧个好
  • 遵义做百度网站一年多少钱下列关于网站开发中网页上传
  • 柳州住房和城乡建设局网站深圳哪个区的房子最值得投资
  • 网站开发费用摊销年限免费的微网站制作
  • 求职网站的建设方案中国品牌网官网查询
  • 制作网站注册页面WordPress默认头像修改方法
  • 怎样把有用网站做图标放在桌面怎么做网站广告卖钱
  • 成都金铭 网站建设建设什么网站好
  • 潮汕学院网站开发高校校园网站建设项目的要求
  • 做彩妆网站的公司住房与城乡建设网上办事大厅
  • 山东省住房与建设厅网站首页个人简历制作
  • 建设厅网站怎么查询安全员c考试成绩seo的概念是什么
  • 昌吉州住房和城乡建设局网站系统做网站的地方
  • 做酷炫网站能卖钱吗烟台做网站的价格
  • 无锡网站建设系统宣汉网站建设
  • 网站小图标 免费wordpress网页图片加载很慢
  • 网站制作的预算除了91还有什么关键词
  • 有经验的永州网站建设最火的网络推广平台
  • 有专门教做家具的网站2022年中国企业500强名单
  • 本墨陈黑做网站有版权怎么自己做网站赚钱
  • 厦门专业建站系统制作公司南通哪里有做网站的
  • ppt模板下载的网站有哪些品牌软文案例
  • 大学生做爰网站长沙公司建设网站
  • 旅游做攻略的网站有哪些个人博客首页
  • 济南建公司网站毕业设计网站用什么做
  • 白名单 网站明星百度指数排行