模拟就是对某一个过程进行简单的演算,通过找到一定的规律,来简化代码,提高时间复杂度等。



class Solution {
public:
string modifyString(string s) {
int n=s.size();
for(int i=0;i<n;i++){
if(si=='?'){
for(char ch='a';ch<='z';ch++){
if((i==0||ch!=si-1)&&(i==n-1||ch!=si+1)){
si=ch;
break;
}
}
}
}
return s;
}
};


class Solution {
public:
int findPoisonedDuration(vector<int>& timeSeries, int duration) {
int ans = 0;
int expired = 0;
for (int i = 0; i < timeSeries.size(); ++i) {
if (timeSeriesi >= expired) {
ans += duration;
} else {
ans += timeSeriesi + duration - expired;
}
expired = timeSeriesi + duration;
}
return ans;
}
};




class Solution {
public:
string convert(string s, int a) {
if(a==1) return s;
string ret;
int d=2*a-2;
int n=s.size();
for(int i=0;i<n;i+=d){
ret+=si;
}
for(int k=1;k<a-1;k++){
for(int i=k,j=d-k;i<n||j<n;i+=d,j+=d){
if(i<n) ret+=si;
if(j<n) ret+=sj;
}
}
for(int i=a-1;i<n;i+=d){
ret+=si;
}
return ret;
}
};



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



class Solution {
public:
int minNumberOfFrogs(string croakOfFrogs) {
string t="croak";
int n=t.size();
vector<int> hash(n);
unordered_map<char,int> index;
for(int i=0;i<n;i++)
indext\[i]=i;
for(auto ch: croakOfFrogs){
if(ch=='c'){
if(hashn-1!=0) hashn-1--;
hash0++;
}else{
int i=indexch;
if(hashi-1==0) return -1;
hashi-1--;
hashi++;
}
}
for(int i=0;i<n-1;i++){
if(hashi!=0) return -1;
}
return hashn-1;
}
};
期待下次交流!!!