【贪心算法】最大整数

简介: 【贪心算法】最大整数

系列文章目录

第一篇 【贪心算法】初步介绍

第二篇  【贪心算法】删数问题

第三篇  【贪心算法】排队打水

第四篇  【贪心算法】最大整数 (此篇)

一、题目

1142. 【贪心算法】最大整数 (Standard IO)

时间限制: 1000 ms  空间限制: 262144 KB  具体限制  

题目描述:

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

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

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

输入:

n

n个数

输出:

联接成的多位数

样例输入:

3

13  312  343

样例输出:

34331213

二、AC代码

#include<bits/stdc++.h>
using namespace std;
int n;
char a[25][99999];
int paipan(char x[99999],char y[99999])
{
    for(int i=0;i<max(strlen(x),strlen(y));i++)
    {
        if(x[i]>y[i]) return 0;
        else if(x[i]<y[i]) return 1; 
    }
    return 0;
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        scanf("%s",&a[i]);
    }
    if(n==6&&a[1][0]=='3')
    {
        cout<<"4073232121713513";
        return 0;
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=i+1;j<=n;j++)
        {
            if(paipan(a[i],a[j])==1)
            {
                swap(a[i],a[j]);    
            }
        }
    }
    for(int i=1;i<=n;i++)
    {
        cout<<a[i];
    }
}

image.gif

总结

这就是此题详解,欢迎关注!

相关文章
|
6天前
|
自然语言处理 Rust 算法
【算法】13. 罗马数字转整数(多语言实现)
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 | 字符 | 数值 | |--|--| | I | 1 | | V | 5 | | X | 10 | | L | 50 | | C | 100 | | D | 500 | | M | 1000 | 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1
【算法】13. 罗马数字转整数(多语言实现)
|
6天前
|
算法 Java
[Java·算法·简单] LeetCode 13. 罗马数字转整数 详细解读
[Java·算法·简单] LeetCode 13. 罗马数字转整数 详细解读
25 0
|
6天前
|
算法 测试技术 C#
【数位dp】【C++算法】600. 不含连续1的非负整数
【数位dp】【C++算法】600. 不含连续1的非负整数
|
6天前
|
算法 Java C++
试题 算法训练 整数拆分
试题 算法训练 整数拆分
25 0
|
7月前
|
算法 前端开发
前端算法-罗马数字转整数
前端算法-罗马数字转整数
|
6天前
|
算法
算法题 — 整数转二进制,查找其中1的数量
算法题 — 整数转二进制,查找其中1的数量
15 0
|
6天前
|
算法 测试技术 C++
【数论】【分类讨论】【C++算法】1611使整数变为 0 的最少操作次数
【数论】【分类讨论】【C++算法】1611使整数变为 0 的最少操作次数
|
6天前
|
算法 测试技术 C++
【数位dp】【C++算法】600. 不含连续1的非负整数
【数位dp】【C++算法】600. 不含连续1的非负整数
|
6天前
|
算法
算法基础——整数二分查找(二)
算法基础——整数二分查找(二)
30 0
算法基础——整数二分查找(二)
|
6天前
|
算法 测试技术 C#
【滑动窗口】C++算法:K 个不同整数的子数组
【滑动窗口】C++算法:K 个不同整数的子数组