设有n个正整数 (n<=20), 将它们连接成一排, 组成一个最大的多位整数
2017-10-13 21:10
337 查看
设有n个正整数 (n<=20), 将它们连接成一排, 组成一个最大的多位整数.
例如: n=3时, 3个整数13, 312, 343连接成的最大整数为: 34331213
又如: n=4时, 4个整数7,13,4,246连接成的最大整数为: 7424613
例如: n=3时, 3个整数13, 312, 343连接成的最大整数为: 34331213
又如: n=4时, 4个整数7,13,4,246连接成的最大整数为: 7424613
#include<iostream> #include<string> using namespace std; bool compare(string a,string b) { if(a+b>=b+a)//ab>=ba,这个时候不需要交换 { return false; } return true;//ab<ba,这个时候需要交换 } int main() { int n; cin>>n; string arr[20],temp; for(int a=0;a<n;a++) { cin>>arr[a]; } for(int i=0;i<n-1;i++) { for(int j=n-1;j>i;j--) { if(compare(arr[j-1],arr[j])) //如果为true则交换, { temp=arr[j]; arr[j]=arr[j-1]; arr[j-1]=temp; } } } for(int k=0;k<n;k++){ cout<<arr[k]; } cout<<endl; return 0; }
相关文章推荐
- 设有n个正整数,将他们连接成一排,组成一个最大的多位整数
- 设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
- 设有n个正整数(n<=20),将它们联成一排,组成一个最大的多位数
- java题: 设有n个正整数,将它们联接成一排,组成一个最大的多位整数。例如:N=3时,3个整数13、312、343联成的最大整数为:34331213;
- 设有n个正整数,将他们连接成一排,组成一个最大的多位整数
- Java实现:n个正整数,将它们连接成一排,组成一个最大的多位整数。(输入:n(n个整数),依次输入n个整数)
- 设有n个正整数,将它们联接成一排,组成一个最小的多位整数
- 求n个正整数连接成一排,组成一个最大的多位整数
- 设有n个正整数,将他们连接成一排,组成一个最小的多位整数
- n个正整数,联接成一排,组成一个最小(最大)的多位整数
- n个正整数,联接成一排,组成一个最大(最小)的多位整数 python
- n个正整数联接成一排,组成一个最小的多位整数
- n个正整数联接成一排,组成一个最小的多位整数
- js实现输入一个数组,实现数组元素能够组成的最大整数
- 返回一个整数数组中最大子数组的和(数组头尾连接)
- 陈利人 面试题 对于一个n位正整数a,去掉其中任意k(k<=n)个数字后,剩下的数字按原次序排列可以组成一个新的正整数。设计一个删数算法,使得剩下的数字组成的正整数最小。
- 给定一个由非负整数和整数m组成的数组,可以将该数组分成m个非空的连续子数组。 写一个算法来最小化这些m个子阵列之间的最大和。
- 算法3:找出一个整数数组里面两个查值最大的两个下标a[j]-a[i]最大并且i<j
- 贪心算法---n个数连接得到最小或最大的多位整数
- 贪心算法——n个数连接得到最小或最大的多位整数