zoukankan      html  css  js  c++  java
  • 洛谷P1012 拼数【字符串+排序】

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

    例如:n=3n=3时,33个整数1313,312312,343343联接成的最大整数为:3433121334331213

    又如:n=4n=4时,44个整数77,1313,44,246246联接成的最大整数为:74246137424613

    输入输出格式

    输入格式:

    第一行,一个正整数nn。

    第二行,nn个正整数。

    输出格式:

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

    输入输出样例

    输入样例#1: 复制

    3
    13 312 343
    

    输出样例#1: 复制

    34331213

    思路:其实用STL来做的话会很方便,直接手写cmp函数用sort排序一下就行了,string类更加便捷

    #include<iostream>
    #include<cstdio>
    #include<string>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    string a[21];
    bool cmp(string a,string b)
    {
        return a+b>b+a;//a+b就是b接在a的后面
    }
    int main()
    {
        int n;
        cin>>n;
        for(int i=1;i<=n;i++)
        cin>>a[i];
        sort(a+1,a+n+1,cmp);
        for(int i=1;i<=n;i++)
            cout<<a[i];
    }
    
  • 相关阅读:
    说说 Java 线程间通信
    Java 内存模型与内存结构
    Spring Boot 整合 Shiro
    HashMap 实现原理
    Spring Boot 自动配置原理
    Spring Cloud 全链路追踪实现
    JVM 类加载机制
    volatile 关键字的作用
    Spring Boot 整合 Redis
    Docker命令
  • 原文地址:https://www.cnblogs.com/aerer/p/9930977.html
Copyright © 2011-2022 走看看