java题: 设有n个正整数,将它们联接成一排,组成一个最大的多位整数。例如:N=3时,3个整数13、312、343联成的最大整数为:34331213;
来源:互联网 发布:网络语言暴力 例子 编辑:程序博客网 时间:2024/06/06 09:08
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class test1 { public static void main(String[] args) {
System.out.println("请至少输入两个数字,用逗号隔开>>");
Scanner scanner = new Scanner(System.in);
String n=scanner.nextLine();
String[] s = scanner.nextLine().split(",");
new test1().zuhe(s, s.length, 0);
Collections.sort(totalNUm);
System.out.println("共组成 " + kk+" 条组合数");
System.out.println("所有的组合数为:" + totalNUm.toString());
System.out.println("最大的的组合数为:" + totalNUm.get(kk-1));
}
static int kk = 0; static List totalNUm = new ArrayList();
private void zuhe(String[] array, int n, int k) { if (n == k) {
String s = "";
for(int i=0;i<n;i++){
s += array[i];
}
totalNUm.add(s);
++kk;
} else {
for (int i = k; i < n; i++) {
swap(array, k, i);
zuhe(array, n, k + 1);
swap(array, i, k);
}
}
}
private void swap(String[] a, int x, int y) { String temp = a[x];
a[x] = a[y];
a[y] = temp;
}
}
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class test1 { public static void main(String[] args) {
System.out.println("请至少输入两个数字,用逗号隔开>>");
Scanner scanner = new Scanner(System.in);
String n=scanner.nextLine();
String[] s = scanner.nextLine().split(",");
new test1().zuhe(s, s.length, 0);
Collections.sort(totalNUm);
System.out.println("共组成 " + kk+" 条组合数");
System.out.println("所有的组合数为:" + totalNUm.toString());
System.out.println("最大的的组合数为:" + totalNUm.get(kk-1));
}
static int kk = 0; static List totalNUm = new ArrayList();
private void zuhe(String[] array, int n, int k) { if (n == k) {
String s = "";
for(int i=0;i<n;i++){
s += array[i];
}
totalNUm.add(s);
++kk;
} else {
for (int i = k; i < n; i++) {
swap(array, k, i);
zuhe(array, n, k + 1);
swap(array, i, k);
}
}
}
private void swap(String[] a, int x, int y) { String temp = a[x];
a[x] = a[y];
a[y] = temp;
}
}
0 0
- java题: 设有n个正整数,将它们联接成一排,组成一个最大的多位整数。例如:N=3时,3个整数13、312、343联成的最大整数为:34331213;
- 设有n个正整数 (n<=20), 将它们连接成一排, 组成一个最大的多位整数
- 设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
- 设有n个正整数,将他们连接成一排,组成一个最大的多位整数
- 设有n个正整数(n<=20),将它们联成一排,组成一个最大的多位数
- n个正整数,联接成一排,组成一个最小(最大)的多位整数
- n个正整数,联接成一排,组成一个最大(最小)的多位整数 python
- 设有n个正整数,将它们连成一排组成一个整数,请编程输出其中最大的结果。
- 设有n个正整数,将他们连接成一排,组成一个最小的多位整数
- Java实现:n个正整数,将它们连接成一排,组成一个最大的多位整数。(输入:n(n个整数),依次输入n个整数)
- 求n个正整数连接成一排,组成一个最大的多位整数
- n个正整数联接成一排,组成一个最小的多位整数
- n个正整数联接成一排,组成一个最小的多位整数
- 猪八戒编程题2018_拼接N个整数成一个最大的多位整数
- 算法笔试题——N个正整数联接,组成最小的长整数
- N个正整数联接成最小整数
- 贪心算法——输入任意一个正整数N,将其分成多个互不相同的整数,和为N,乘积最大
- 百度一道笔试题(求n个整数连成一排组成的最小整数)
- 我为什么看好在线视频行业
- 最小生成树—Prim算法
- Android中retrofit网络请求框架使用
- editText代码中强制获取焦点
- 简明 Vim 练级攻略
- java题: 设有n个正整数,将它们联接成一排,组成一个最大的多位整数。例如:N=3时,3个整数13、312、343联成的最大整数为:34331213;
- Elevator
- AndroidStudio中使用AndroidAnnotation的简单介绍
- struts 的解耦和方式
- 文件I/O实践(3) --文件共享与fcntl
- 【Qzone】这个比较有趣 总结一下笔记
- 微信小程序取代App?Android和iOS会失业?大可不必慌张
- 可变数组
- struts 和servlet APi的耦合方式