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

【优选算法】模拟 问题算法

​一:替换所有的问号

class Solution {
public: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[i-1]) || ( i>0 && i<n-1 && ch != s[i-1] && ch != s[i+1])){s[i] = ch;break;}}}}return s;}
};

二:提莫攻击

class Solution {
public:int findPoisonedDuration(vector<int>& timeSeries, int duration) {int ret = 0;for(int i = 1; i < timeSeries.size(); i++){int x = timeSeries[i]-timeSeries[i-1];if(x >= duration) ret+=duration;else ret+=x;}return ret+duration;}
};

三:Z字形变换

class Solution {
public:string convert(string s, int numRows) {if(numRows == 1) return s;string ret;int n = s.size();int d = 2*numRows-2;// 1.先处理第一行for(int i = 0; i < n; i+=d)ret += s[i];// 2.处理中间行for(int k = 1; k < numRows-1; k++) // 枚举一行{for(int i = k, j = d-k; i < n || j < n; i+=d, j+=d){if(i < n) ret += s[i];if(j < n) ret += s[j];}}// 3.处理最后一行for(int i = numRows-1; i < n; i+=d){ret += s[i];}return ret;}
};

四:外观数列

class Solution {
public:string countAndSay(int n) {string ret = "1";for(int i = 1; i < n; i++){string tmp;int len = ret.size();for(int left = 0, right = 0; right < len; ){while(right < len && ret[left] == ret[right])right++;tmp += to_string(right-left) + ret[left];left = right;}ret = tmp;}return ret;}
};

五:数青蛙​

class Solution {
public:int minNumberOfFrogs(string croakOfFrogs) {string t = "croak";int n = t.size();// 使用数组来模拟哈希表vector<int> hash(n);// 使用 map 来表示 字符的下标unordered_map<char, int> char_Index;for(int i = 0; i < n; i++)char_Index[t[i]] = i;// 开始操作for(auto& ch : croakOfFrogs){if(ch == 'c'){if(hash[n-1] != 0)hash[n-1]--;        // 一个青蛙叫完之后,继续叫hash[0]++;}else{int i = char_Index[ch]; // 找到当前字符的位置if(hash[i-1] == 0) return -1;hash[i-1]--;hash[i]++;}}for(int i = 0; i < n-1; i++){if(hash[i] != 0)return -1;}return hash[n-1];}
};

相关文章:

  • 【CSS-7】深入解析CSS伪类:从基础到高级应用
  • 73常用控件_QFormLayout的使用
  • SQL 注入开放与修复
  • 针对异构数据的联邦学习
  • Linux 基础IO(下)
  • D25异常处理
  • 【学习笔记】深入理解Java虚拟机学习笔记——第5章 调优案例分析与实战
  • NLP学习路线图(三十二): 模型压缩与优化
  • 从认识AI开始-----变分自编码器:从AE到VAE
  • LangChain工具集成实战:构建智能问答系统完整指南
  • springboot3.x对接AI智谱清言
  • 前端获取接口数据流程
  • 利用coze工作流制作一个自动生成PPT的智能体
  • ORACLE 修改端口号之后无法启动?
  • 安装Openstack
  • pgsql batch insert optimization (reWriteBatchedInserts )
  • 线性规划饮食问题求解:FastAPI作为服务端+libhv作为客户端实现
  • Web应用安全漏洞全解析:从原理到实战防御
  • 词法分析和词性标注 自然语言处理
  • 【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
  • 可信赖的坪山网站建设/查权重网站
  • 上海市建设监理协会网站查询/温州免费建站模板
  • 网页设计报价怎么做/徐州新站百度快照优化
  • html5的网站有哪些/外贸网站推广优化
  • 网络托管/谷歌seo排名
  • 国内免费工厂网站建设/专业搜索引擎seo合作