zoukankan      html  css  js  c++  java
  • 记录string的妙用

    P1106 删数问题

    题目描述

    键盘输入一个高精度的正整数N,去掉其中任意k个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的N和k,寻找一种方案使得剩下的数字组成的新数最小。

    输出应包括所去掉的数字的位置和组成的新的正整数。(N不超过250位) 输入数据均不需判错。

    输入输出格式

    输入格式:

    n (高精度的正整数)

    k (需要删除的数字个数)

    输出格式:

    最后剩下的最小数。

    输入输出样例

    输入样例#1:
    175438 
    4
    
    输出样例#1:
    13

    ——————————————————————————————
    记录一波代码而已 erase的妙用啊QAQ
    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #include<algorithm>
    #include<string>
    #define LL long long
    using namespace std;
    int read(){
        int ans=0,f=1,c=getchar();
        while(c<'0'||c>'9'){if(c=='-') f=-1; c=getchar();}
        while(c>='0'&&c<='9'){ans=ans*10+(c-'0'); c=getchar();}
        return ans*f;
    }
    string s;
    int n,now;
    int main()
    {
        cin>>s;
        n=read();
        for(int i=0;i<n;i++){
            now=0;
            while(now<s.size()-1&&s[now]<=s[now+1]) now++;
            s.erase(now,1);
        }
        while(s.size()>1&&s[0]=='0') s.erase(0,1);
        cout<<s;
        return 0;
    }
    View Code

    P1012 拼数

     

    题目描述

    设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。

    例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213

    又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613

    输入输出格式

    输入格式:

    第一行,一个正整数n。

    第二行,n个正整数。

    输出格式:

    一个正整数,表示最大的整数

    输入输出样例

    输入样例#1:
    3
    13 312 343
    
    输出样例#1:
    34331213
    ——————————————————————————
    string的sort
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<iostream>
    #include<string>
    #define LL long long
    using namespace std;
    int read(){
        int ans=0,f=1,c=getchar();
        while(c<'0'||c>'9'){if(c=='-') f=-1; c=getchar();}
        while(c>='0'&&c<='9'){ans=ans*10+(c-'0'); c=getchar();}
        return ans*f;
    }
    int n;
    string s[55];
    bool cmp(string a,string b){return a+b>b+a;}
    int main()
    {
        
        n=read();
        for(int i=1;i<=n;i++) cin>>s[i];
        sort(s+1,s+1+n,cmp);
        for(int i=1;i<=n;i++) cout<<s[i];
        return 0;
    }
    View Code
  • 相关阅读:
    WPF Prism8.x源码解析-IDialogService
    .NET 中的正则表达式最佳做法(官方转载)
    .NET 5 中操作注册表方法
    在 .NET 5 及更高版本中比较字符串时的行为更改(官方转载)
    有关比较 .NET 中字符串的最佳做法(官方转载)
    C#创建Windows服务
    [log4j]log4j简单配置
    python基础知识之字符编码与转换
    python基础知识之集合
    python基础知识之字典的操作
  • 原文地址:https://www.cnblogs.com/lyzuikeai/p/7283890.html
Copyright © 2011-2022 走看看