我在代码随想录|写代码Day8之 344. 反转字符串,541. 反转字符串 II, 54. 替换数字(第八期模拟笔试)

发布时间:2024年01月16日

?344. 反转字符串

思路原地变化,C++直接调用函数进行

?左右交换,向中间移动sawp()c++用于交换俩元素的方法

?

?为什么这个代码不能交换

解释:?

541. 反转字符串 II

?

由上一题可以知道我们反转字符串可以原地反转,就可以在区间内反转数组

?54. 替换数字(第八期模拟笔试)icon-default.png?t=N7T8https://kamacoder.com/problempage.php?pid=1064

?

?思路 : 运到相应的字母就替换即可

/*
* 12/20/tm /诸天神佛,佑我上分
*/

#include<bits/stdc++.h>
using namespace std;
#define mp make_pair
#define pb push_back
#define PII pair<int,int>
#define ll long long
#define multicase 0
#define N 500005
#define mod 998244353

int a[N], b[N];

void read(int&x) {
    x=0; char ch=getchar(); int f=1;
    while(!isdigit(ch)) f=ch=='-'?-1:1, ch=getchar();
    while(isdigit(ch)) x=x*10+ch-48, ch=getchar();
    x=f*x;
}

void read(ll&x) {
    x=0; char ch=getchar(); int f=1;
    while(!isdigit(ch)) f=ch=='-'?-1:1, ch=getchar();
    while(isdigit(ch)) x=x*10+ch-48, ch=getchar();
    x=f*x;
}

template<typename... Args>
void rd(Args&... args) {
    std::initializer_list<int>{(read(args), 0)...};
}


void init() { 
    //     M.reserve(1024); M.max_load_factor(0.25);
}

void solve() {
    string s; cin>>s;
    for(int i=0;i<s.size();i++){
        if(s[i]>='1'&&s[i]<='9'){
            s.replace(i,1,"number");
        }
    }
    std::cout<<s;
}

int main() {
    init();
    #if multicase
    int _; cin>>_; while(_--) solve(); 
    #else
    solve();
    #endif
}

// Fenwick tree
int t[N];
void add(int x,int v){for(;x<N;x+=x&-x)t[x]+=v;}
int ask(int x,int a=0){for(;x;x^=x&-x)a+=t[x]; return a;}

// Math
int gcd(int a,int b){return b?gcd(b,a%b):a;}
ll qp(ll b,int t,ll a=1){for(;t;t>>=1,b=b*b%mod)if(t&1)a=a*b%mod; return a;}
int inv(ll x){return qp(x,mod-2);}

// Joint Set
int f[N];
int find(int x){return f[x]==x?x:f[x]=find(f[x]);}

🔥如果此文对你有帮助的话,欢迎💗关注、👍点赞、?收藏、??评论,支持一下博主~

文章来源:https://blog.csdn.net/2303_79299383/article/details/135633598
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。