
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
- class Solution {
- public:
- string modifyString(string s) {
-
- string ret;
- for(int i=0;i
size();i++) - {
- if(i==0)
- {
- if(s[i]=='?'&&i+1
size()) - {
- for(char a='a';a<='z';a++)
- {
- if(a!=s[i+1])
- {
- ret+=a;
- break;
- }
- }
- }
- else if(i+1>=s.size()) ret+='a';
- else ret+=s[i];
-
- }
- else
- {
- if(s[i]=='?')
- {
- for(char a='a';a<='z';a++)
- {
- if(ret[i-1]!=a&&i+1
size()&&s[i+1]!=a) - {
- ret+=a;
- break;
- }
- if(i+1>=s.size()&&ret[i-1]!=a)
- {
- ret+=a;
- break;
- }
- }
-
- }
- else ret+=s[i];
-
- }
- }
-
- return ret;
- }
- };

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
- class Solution {
- public:
- int findPoisonedDuration(vector<int>& timeSeries, int duration) {
- int total=0;
- total+=duration;
- for(int i=1;i
size();i++) - {
- int x=timeSeries[i]-timeSeries[i-1];//计算中毒时间的差值来判断中毒伤害的叠加
- if(x
- else total+=duration;
- }
- //total+=3;
- return total;
- }
- };
第三题 字形变换

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
- class Solution {
- public:
- string convert(string s, int numRows) {
- if(numRows==1) return s;//这里不进行特判一定会超时
- string ret;
- int d=(numRows-1)*2;//画图观察第一行的间距差
-
- for(int i=0;i
size();i+=d)//先处理第一行 - {
- ret+=s[i];
- }
- int y=d-1;//第i行第二个数字
- for(int i=1;i
-1;i++)//第i行,是numsRows而不是s数组的size - {
- for(int j=i,k=d-j;j
size()||jsize();j+=d,k+=d)//此处一共需要两组数据,特别注意 - {
- if(j
size()) - ret+=s[j];
- if(k
size()) - ret+=s[k];
- }
-
- }
-
- for(int i=numRows-1;i
size();i+=d) - {
- ret+=s[i];
- }
- return ret;
- }
- };
-
-
- // class Solution {
- // public:
- // string convert(string s, int numRows) {
- // if (numRows < 2)
- // return s;
- // vector
rows(numRows); - // int i = 0, flag = -1;
- // for (char c : s) {
- // rows[i].push_back(c);
- // if (i == 0 || i == numRows -1)
- // flag = - flag;
- // i += flag;
- // }
- // string res;
- // for (const string &row : rows)
- // res += row;
- // return res;
- // }
- // };
第四题 外观数列

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
- class Solution {
- public:
- string countAndSay(int n) {
- string ret="1";
- for(int i = 1;i < n;i ++)
- {
- int left = 0, right = 0;
- string tmp;
- while(right < ret.size())
- {
- while(ret[right] == ret[left]) right++;
- tmp+=to_string(right-left);
- tmp+=ret[left];
- left=right;
- }
- ret=tmp;
- }
- return ret;
- }
- };
第五题 数青蛙

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
- class Solution {
- public:
- int minNumberOfFrogs(string croakOfFrogs)
- {
- int n = croakOfFrogs.size();
- vector<int> hash(5,0);//记录蛙叫状态
- string h="croak";
- unordered_map<char, int> index;//映射字符下标
-
- for(int i=0; i
size(); i++) - {
- //index[croakOfFrogs[i]]=i;这句是错误的,填表的字符串应该是“croak”
- index[h[i]]=i;
- }
-
- for(int i=0; i
- {
- // for(auto c:hash)//io了容易超时
- // {
- // cout<
- // }
- // cout<
- if(croakOfFrogs[i]=='c')
- {
- if(hash[index['k']] > 0) hash[index['k']]--;
- hash[index['c']]++;
- }
- else
- {
- int in=index[croakOfFrogs[i]];
- if(hash[in-1] == 0) return -1;
- hash[in]++;//移动这只青蛙叫到的位置
- hash[in-1]--;
- }
- }
-
- for(int i=0; i<4; i++)
- {
- if(hash[i]>0) return -1;
- }
- return hash[4];
- }
- };

-
相关阅读:
PHP基础
2024长三角快递物流展,7月8日杭州迎来快递物流科技盛宴
【EI会议征稿】2024年遥感技术与测量测绘国际学术会议(RSTSM 2024)
基于Python实现的类Pascal语言的词法分析和语法分析器
复现yolov5+Deepsort实现车辆行人的检测、追踪和计数
JS--如何编写事件驱动
计算机视觉之Vision Transformer图像分类
虎哥说车和亚洲小姐全球总冠军吴丹跨界影视圈相遇《猎枭生死线》
微软Surface/Surface pro笔记本电脑进入bios界面
Vue快速入门(二)
-
原文地址:https://blog.csdn.net/m0_74234485/article/details/134084575