• 牛客网在线编程题——数串(1)


    开始记录刷牛客网的在线编程题,使用语言为C++,一共8342道题,监督自己坚持刷下去。。。

    说明:如果题目答案不是自己的原创,我会说明代码来源。

    题目描述

    设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
    如:n=3时,3个整数13,312,343,连成的最大整数为34331213。
    如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。

    输入描述:

    有多组测试样例,每组测试样例包含两行,第一行为一个整数N(N<=100),第二行包含N个数(每个数不超过1000,空格分开)。

    输出描述:

    每组数据输出一个表示最大的整数。
    示例1

    输入

    2
    12 123
    4
    7 13 4 246
    

    输出

    12312
    7424613

    参考代码地址:https://www.nowcoder.com/questionTerminal/a6a656249f404eb498d16b2f8eaa2c60
    答案代码:
    #include <string>
    #include <algorithm>
    #include <vector>
    #include <iostream>
    using namespace std;
    bool compare(string str1, string str2){
        return (str1+str2)>(str2+str1);
    }
    int main() {
        int n;
        cin >> n;
        vector<string> sArray;
        for (int i=0;i<n;i++) {
            string temp;
            cin >> temp;
            sArray.push_back(temp);
        }
        sort(sArray.begin(), sArray.end(), compare);
        for (int i=0;i<n;i++) {
            cout << sArray[i];
        }
        cout<<endl;
        return 0;
    }

    值得学习的点:1、不定长数组,使用vector;

           2、简单排序工作可使用<algorithm>头文件;

             3、整数的拼接和比较可以转化为字符串的拼接和比较,比较的巧妙。

  • 相关阅读:
    GAN 的推导、证明与实现。
    WGAN学习笔记
    常用损失函数积累
    交叉熵在loss函数中使用的理解
    贝叶斯决策
    极大似然估计
    gated pixelCNN。
    三叉搜索树 转载
    Rabin-Karp 字符串匹配算法
    面试题整理 转载
  • 原文地址:https://www.cnblogs.com/lipanDL/p/10007030.html
Copyright © 2020-2023  润新知