一、技术总结

  1. 此问题是贪心类问题,给出可能有前导零的数字串,将他们按照某个顺序拼接,使生成的数最小。
  2. 解决方案,就是使用cmp函数,因为两两字符串进行拼接,进行排序从小到大。
  3. 拼接过后会有0可能出现在最前面,需要借助s.erase(s.begin())进行去除字符串前面的'0'字符,如果是字符串长度不为0,然后第一个字符为'0',去除,最后进行判断去除后是否为空,如果是则直接输出0,如果不是那么输出拼接后的字符串。
  4. 从这题可以得知,字符串拼接后也可以直接进行比较大小。拼接直接使用+
  5. 去除字符串前的字符0,可以使用s.erase()

二、参考代码

#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
bool cmp(string a, string b){
return a + b < b + a;
}
string str[10010];
int main(){
int N;
string s;
cin >> N;
for(int i = 0; i < N; i++){
cin >> str[i];
}
sort(str, str+N, cmp);
for(int i = 0; i < N; i++){
s += str[i];
}
while(s.length() != 0 && s[0] == '0'){
s.erase(s.begin());
}
if(s.length() == 0){
cout << 0;
}
cout << s;
return 0;
}

最新文章

  1. C语言运算符优先级和口诀(转)
  2. CentOS 下安装
  3. 手把手教你如何把java代码,打包成jar文件以及转换为exe可执行文件
  4. HDU 5783 Divide the Sequence
  5. XML学习笔记(1)--XML概述
  6. jQuery 参考手册 - 文档操作
  7. 网站开发常用jQuery插件总结(九)侧边栏插件pageslide
  8. IIS10 设置支持wcf服务(.svc)
  9. mysql 自带全文检索
  10. php wampp 访问数据库
  11. MySQL之最基本命令
  12. windows 端口转发
  13. git 生成公钥 使用命令行无需输入用户名密码(windows)
  14. Git reset与checkout的区别
  15. 010 pandas的DataFrame
  16. 实践中总结出来对heapq的一点理解
  17. noip第6课资料
  18. CentOS7系列--5.2CentOS7中配置和管理Docker
  19. BMP图像直方图均衡算法(C语言大作业)
  20. 关于safenetde 的明文 密文 数据 。这个数组使用 safenet的助手 产生的。

热门文章

  1. Python 文件readlines()方法
  2. redis之HyperLogLog
  3. mysql-5.7.23-winx64 解压版详细安装教程
  4. Django学习笔记(16)——扩展Django自带User模型,实现用户注册与登录
  5. gitLab 分支保护设置
  6. [Node.js] TypeScript 实现 sleep 函数
  7. 使用SolrJ客户端管理SolrCloud(Solr集群)
  8. 2019-11-29-WPF-元素裁剪-Clip-属性
  9. Docker中如何调试剖析.net core 的程序。
  10. C 函数声明、函数参数