• 百度笔试题--------数字拼接,求出最小的那个


    二、算法题(35分)
    题目描述:
    设有n个正整数,将它们联接成一排,组成一个最小的多位整数。

    程序输入:n个数
    程序输出:联接成的多位数

    例如:
    n=2时,2个整数32,321连接成的最小整数为:32132,
    n=4时,4个整数55,31,312, 33 联接成的最小整数为:312313355

    [题目要求]
    1. 给出伪代码即可,请给出对应的文字说明,并使用上面给出的例子试验你的算法。
    2. 给出算法的时间空间复杂度。
    3. 证明你的算法。(非常重要)

      

    直接贴程序吧:

     

    #include<functional>
    #include
    <iostream>
    #include
    <string>
    #include
    <sstream>
    #include
    <algorithm>
    #include
    <math.h>

    using namespace std;

    class Less:public binary_function<int,int,bool>{
    public:
        
    bool operator()(int a,int b){
            stringstream ss;
            
    string str_a,str_b;
            ss
    <<a<<" "<<b;
            ss
    >>str_a>>str_b;
            
    return (a*powf(10,str_b.length())+b)<(b*powf(10,str_a.length())+a);
        }
    };
    int main(){
        
    int a[]={1562,15,68,622};
        sort(a,a
    +sizeof(a)/sizeof(int),Less());
        ostream_iterator
    <int> os(cout," ");
        copy(a,a
    +sizeof(a)/sizeof(int),os);
    }
    小人本潜水在思源的贴边
    ID又多 又有钱
    快活乐无边
    谁知道站总监
    他蛮横不留情面
    他勾结站长目无天
    占我ID夺我钱
    我马甲跟他来翻脸
    反被他来把经验减
    我同学骂他欺新人
    反被他捉进了小黑屋里面
    874了一百遍啊一百遍
    啊 最后他咬舌自尽 遗恨人间
    他还将我和马甲赶出了思源 流落在人间
    我为求回思源
    无奈行乞在贴前
    谁知道站总监他实在太阴险
    知道此情形竟派人来暗算将我发文狂删到0篇
    小人ID强 残命独留全
    可怜马甲他 竟遭删
    为求养ID
    惟有傍人卖身自作践
    一面苦赚钱 一面写诗篇
    发誓把名气显
    手刃总监意志坚啊
    从此总监ID念心间
    我永铭记此仇不供戴天
  • 相关阅读:
    留言板
    文件操作1
    JQUERY与JS的区别
    PHP 练习租房
    PHP 投票练习
    PHP,单项查询及多项查询
    PHP 增删改查 import!!
    PHP 数据访问
    PHP 对象及其三大特性
    正则表达式和数组
  • 原文地址:https://www.cnblogs.com/CUCmehp/p/1497969.html
Copyright © 2020-2023  润新知