| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2236 人关注过本帖
标题:【求助】有一个整数n,现将其各位打乱,求组成的最大数字是什么。 数据很大 ...
只看楼主 加入收藏
Sky_
Rank: 2
等 级:论坛游民
帖 子:38
专家分:10
注 册:2019-12-17
结帖率:100%
收藏
 问题点数:0 回复次数:7 
【求助】有一个整数n,现将其各位打乱,求组成的最大数字是什么。 数据很大很大 正常的做法超时
有一个整数n,现将其各位打乱,求组成的最大数字是什么。
输入
输入第一行一个整数T,代表接下来有T组测试数据。
每组测试数据有一行,整数n。
数据范围:1≤T≤4,1≤n≤10^10000000.
输出
对于每组测试数据,输出打乱后的最大数字。
提示
排序会造成超时
由于数据很大,请尝试更快的输出方式避免时间超限。
样例输入
2
1234567890
7777777
样例输出
9876543210
7777777




[此贴子已经被作者于2019-12-28 19:30编辑过]

搜索更多相关主题的帖子: 输出 最大数 数据 超时 整数 
2019-12-27 21:12
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:709
专家分:2063
注 册:2010-11-11
收藏
得分:0 
那你正常的做法是什么?
2019-12-27 22:23
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1685
专家分:4252
注 册:2007-12-27
收藏
得分:0 
每个数据从头到尾过一遍,统计其中每个数字字符分别有多少个,然后直接输出结果。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2019-12-27 23:32
Sky_
Rank: 2
等 级:论坛游民
帖 子:38
专家分:10
注 册:2019-12-17
收藏
得分:0 
回复 2楼 八画小子
好像算作桶排序吧   
就是把数字从大到小输出一遍 超时了

#include<stdio.h>
#include<string.h>
char s[100000000000009];
int a[11];
int main ()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        memset(a,0,sizeof(a));
        scanf("%s",s);
        for(int i=0;s[i];i++)
        {
            a[s[i]-'0']++;
        }
        for(int i=9;i>=0;i--)
        {
            for(int j=1;j<=a[i];j++)
            {
                printf("%d",i);
            }
        }
        printf("\n");
    }
    return 0;
}

2019-12-28 19:27
Sky_
Rank: 2
等 级:论坛游民
帖 子:38
专家分:10
注 册:2019-12-17
收藏
得分:0 
回复 3楼 forever74
抱歉 我第一次复制粘贴题目没发现出错了
是10^10000000
这个数据这么大 超时了欸

2019-12-28 19:33
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1685
专家分:4252
注 册:2007-12-27
收藏
得分:0 
这样试试
程序代码:
#include <stdio.h>
void run()
{
    int a[10] = { 0 };
    char ch;
    while ((ch = getchar()) != '\n') a[ch - '0']++;
    for (int i = 9; i >= 0; i--)
        while (a[i]--)putchar((char)(i + 48));
    putchar('\n');
}
int main()
{
    int T;
    scanf("%d",&T);
    while(getchar()!='\n');
    while (T--)run();
}

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2019-12-28 19:48
Sky_
Rank: 2
等 级:论坛游民
帖 子:38
专家分:10
注 册:2019-12-17
收藏
得分:0 
回复 6楼 forever74
谢谢大佬
答案正确了
不过为什么这样就不超时了呀
不太明白
2019-12-28 19:59
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1685
专家分:4252
注 册:2007-12-27
收藏
得分:0 
也许因为数组太大了运行的时候会频繁触发换页?

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2019-12-28 22:43
快速回复:【求助】有一个整数n,现将其各位打乱,求组成的最大数字是什么。 数据 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019025 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved