「排列组合java」排列组合JAVA
今天给各位分享排列组合java的知识,其中也会对排列组合JAVA进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、关于java各方法排列组合问题
- 2、JAVA排列组合算法如题:用x、y,求出指定长度的所有排列组合。
- 3、java双色球排列组合算法 - 根据复式列出所有单式号码
- 4、java实现排列组合
- 5、java实现排列组合输出
- 6、输入任意字符序列,输出所有两位数的排列组合JAVA代码?
关于java各方法排列组合问题
各指令的含义分别为:
a:获取名字;
b:总共问了几个问题,也就是你输入了几次命令;
c:输入的数字是不是奇数;
d:倒置字符串,也就是abc变为cba;
e:求两个整数直接所有整数的和,输入2跟5,就是2+3+4+5,也就是14;
f:输入的三个数是不是排序好的;
g:统计字符串波包含的空格数;
h:没有执行,不知道实际的作用,但从字面上来看,应该是统计数字的个数;
?:查看有哪些指令,类似于“帮助”;
q:退出。
JAVA排列组合算法如题:用x、y,求出指定长度的所有排列组合。
按照你的要求编写的求x,y指定长度的所有排列组合的Java程序如下
import java.util.ArrayList;
import java.util.List;
public class EE {
public static void combination(ListString list, String sNumbers, String sPath, int ALen)
{
if (sPath.length()== ALen)
{
list.add(sPath);
return;
}
for(int i=0;isNumbers.length();i++)
{
combination(list,sNumbers,sPath +sNumbers.substring(i,i+1), ALen);
}
}
public static void main(String[] args) {
ListString output = new ArrayListString();
System.out.println("组合");
combination(output,"xy", "", 5);
for(String s: output)
System.out.print(s+" ");
System.out.println();
System.out.println("共"+output.size()+"个");
}
}
运行结果
组合
xxxxx xxxxy xxxyx xxxyy xxyxx xxyxy xxyyx xxyyy xyxxx xyxxy xyxyx xyxyy xyyxx xyyxy xyyyx xyyyy yxxxx yxxxy yxxyx yxxyy yxyxx yxyxy yxyyx yxyyy yyxxx yyxxy yyxyx yyxyy yyyxx yyyxy yyyyx yyyyy
共32个
java双色球排列组合算法 - 根据复式列出所有单式号码
//C ( n , k )
public class SelectK {
public static int[] nums = {1, 2, 3,4,5,6,7};
public static ArrayListArrayListInteger result = new ArrayList();
public static void select(ArrayListInteger inner, int start, int k) {
for(int i=start; inums.length; i++) {
inner.add(nums[i]);
if (inner.size() == k) {
result.add(new ArrayList(inner));
inner.remove(inner.size()-1);
continue;
}
select(inner, i+1, k);
inner.remove(inner.size()-1);
}
}
public static void main(String[] args) {
ArrayListInteger inner = new ArrayList();
int k = 6;
select(inner, 0, k);
for(ArrayListInteger each: result) {
System.out.println(StringUtils.join(each, ","));
}
}
}
java实现排列组合
char[] a={'1','2','3','4'};
String b= "";
String c= "";
for (int i = 0; i a.length-1; i++) {
b="["+a[i]+","+a[i+1]+"]";
c+=b;
}
System.out.println(c);
java实现排列组合输出
完成了一种实现,发给你参考下。
不过感觉应该还有更好的办法,有时间我会继续研究下.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class TestQiuhe {
//集合a{1,2,3,5,7,10},输出不多于4个元素(不重复)的加和为22的组合。
public static void main(String[] args) {
int[] nums={1,2,3,5,7,10};
int l = nums.length;
Listint[] results=new ArrayListint[]();
for(int i1=0;i1l;i1++){
for(int i2=0;i2l;i2++){
if(nums[i1]==22){
results.add(new int[]{nums[i1]});
}
if(i2!=i1){
if(nums[i1]+nums[i2]==22){
results.add(new int[]{nums[i1],nums[i2]});
}
for(int i3=0;i3l;i3++){
if(i3!=i1 i3!=i2){
if(nums[i1]+nums[i2]+nums[i3]==22){
results.add(new int[]{nums[i1],nums[i2],nums[i3]});
}
for(int i4=0;i4l;i4++){
if(i4!=i1 i4!= i2 i4!=i3){
if(nums[i1]+nums[i2]+nums[i3]+nums[i4]==22){
results.add(new int[]{nums[i1],nums[i2],nums[i3],nums[i4]});
}
}
}
}
}
}
}
}
//去重
SetString reSet=new HashSet();
for(int[] r:results){
Arrays.sort(r);
reSet.add(Arrays.toString(r));
}
System.out.println("一共得到结果集:"+reSet.size());
System.out.println(reSet);
}
}
运行结果:
一共得到结果集:2
[[5, 7, 10], [2, 3, 7, 10]]
输入任意字符序列,输出所有两位数的排列组合JAVA代码?
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 创建Scanner对象,用于获取用户输入
Scanner scanner = new Scanner(System.in);
System.out.print("请输入任意字符序列:");
// 获取用户输入的字符序列
String str = scanner.nextLine();
// 循环遍历字符序列中的每个字符
for (int i = 0; i str.length(); i++) {
// 获取字符序列中的第i个字符
char c1 = str.charAt(i);
// 循环遍历字符序列中的每个字符
for (int j = 0; j str.length(); j++) {
// 获取字符序列中的第j个字符
char c2 = str.charAt(j);
// 如果第i个字符不等于第j个字符,则输出它们的排列
if (i != j) {
System.out.println(c1 + "" + c2);
}
}
}
}
}
排列组合java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于排列组合JAVA、排列组合java的信息别忘了在本站进行查找喔。