java组合算法(java组合和聚合代码)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
本篇文章给大家谈谈java组合算法,以及java组合和聚合代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
- 1、java排列组合的算法 譬如我有(A,B,C,D),我想输出的结果是
- 2、在java中,谁有好的算法可以将多个list进行组合?
- 3、java编程n个集合每次从每个集合里面取出一个元素组成一个字符串列出所有组合算法
- 4、java排列组合算法?
- 5、java算法问题 排列组合 给定一组字符串,产生所有可能的集合
- 6、JAVA排列组合算法如题:用x、y,求出指定长度的所有排列组合。
java排列组合的算法 譬如我有(A,B,C,D),我想输出的结果是
我觉得戚租带可以看成数字的排列如 1 2 3 4分别代表A B C D
就型和是将1 2 3 4排列
四位的就是1234
三高芦位的就是从这四个数字中取出三个数字,得到的三位数是最小的,如:
取 1 2 3 可以得到123 213 321 132等等 其中123是最小的
两为数字的跟三位数字的一样
在java中,谁有好的算法可以将多个list进行组合?
// 回答完毕,采纳即可
import java.util.Arrays;
import java.util.LinkedList;
public class TT
{
private static LinkedListString[] recursionSub ( LinkedListString[] list, int count, String[][] array, int ind,
int start, int... indexs )
{
start++;
if (start count - 1)
{
return null;
}
if (start == 0)
{
indexs = new int[array.length];
}
for ( indexs
本篇文章给大家谈谈java组合算法,以及java组合和聚合代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
= 0; indexs本篇文章给大家谈谈java组合算法,以及java组合和聚合代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
array本篇文章给大家谈谈java组合算法,以及java组合和聚合代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
.length; indexs本篇文章给大家谈谈java组合算法,以及java组合和聚合代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
++ ){
recursionSub (list, count, array, 0, start, indexs);
if (start == count - 1)
{
String[] temp = new String[count];
for ( int i = count - 1; i = 0; i-- )
{
temp[start - i] = array[start - i][indexs[start - i]];
}
list.add (temp);
}
}
return list;
}
public static void main ( String[] args )
{
悄春吵String[] s1 = { "a", "b", "c" };
String[] s2 = { "d", "e", "f" };
启侍 String[] s3 = { "x", "y", "z" };
String[][] temp = { s1, s2, s3 };
LinkedListString[] list = new LinkedListString[] ();
recursionSub (list, temp.length, temp, 0, -1);
for ( int i = 0; i list.size (); 森陵i++ )
{
System.out.println (Arrays.toString (list.get (i)).replaceAll ("[\\[\\]\\,\\s]", ""));
}
}
}

java编程n个集合每次从每个集合里面取出一个元素组成一个字符串列出所有组合算法
import java.util.ArrayList;
import java.util.List;
public class XX {
public static void main(String[] args)
{
String[] arr1 = { "1", "2","3","4"};
String[] arr2 = { "a", "b","c","d" };
氏基 String[] arr3 = { "A","B","G","H" };
ListString[] list = new ArrayListString[]();
list.add(arr1);
list.add(arr2);
list.add(arr3);
test(list, arr1, "");
}
public static void test(ListString[] list, String[] arr, String str)
{
for (int i = 0; i list.size(); i++)
{
//取得当前的数组
枣扒 if (i == list.indexOf(arr))
{
//迭代数组
for (String st : arr)
{
st = str + st;
if (i list.size() - 1)
{
test(list, list.get(i + 1), st);
}
else if (i == list.size() - 1)
{
System.out.println(st);
歼岩谨 }
}
}
}
}
}
计算结果:
1aA
1aB
1aG
1aH
1bA
1bB
1bG
1bH
1cA
1cB
1cG
1cH
1dA
1dB
1dG
1dH
2aA
2aB
2aG
2aH
2bA
2bB
2bG
2bH
2cA
2cB
2cG
2cH
2dA
2dB
2dG
2dH
3aA
3aB
3aG
3aH
3bA
3bB
3bG
3bH
3cA
3cB
3cG
3cH
3dA
3dB
3dG
3dH
4aA
4aB
4aG
4aH
4bA
4bB
4bG
4bH
4cA
4cB
4cG
4cH
4dA
4dB
4dG
4dH
java排列组合算法?
//这个程序是以前用高分求来的,现在稍作坦告物修改,呵呵
public class Zuhe {
public static void main(String[] args) {
String s = "122345";//这里是要用到的所有数组成的一个字符串,其它字符同让液样适用友物
char[] c = s.toCharArray();
new Zuhe().zuhe(c,c.length,0);
System.out.println("可能的组合数:"+kk);
}
static int kk=0;
private void zuhe(char[] array, int n, int k) {
if (n == k) {
if(array[2]!='4'){//第三个位置不能出现4
String str = new String(array);
if(str.indexOf("53")0str.indexOf("35")0){//3,5不能连续出现
System.out.println(str);
++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(char[] a, int x, int y) {
char temp = a[x];
a[x] = a[y];
a[y] = temp;
}
}
========结果=========
122345
122543
123245
123254
123425
123452
125432
125423
125243
125234
122345
122543
123245
123254
123425
123452
125432
125423
125243
125234
132245
132254
132425
132452
132542
132524
132245
132254
132425
132452
132542
132524
142325
142523
143225
143252
143225
143252
142325
142523
145232
145223
145223
145232
152342
152324
152432
152423
152243
152234
152342
152324
152432
152423
152243
152234
212345
212543
213245
213254
213425
213452
215432
215423
215243
215234
221345
221543
223145
223154
223415
223451
225431
225413
225143
225134
232145
232154
232415
232451
232541
232514
231245
231254
231425
231452
231542
231524
242315
242513
243215
243251
243125
243152
241325
241523
245132
245123
245213
245231
252341
252314
252431
252413
252143
252134
251342
251324
251432
251423
251243
251234
221345
221543
223145
223154
223415
223451
225431
225413
225143
225134
212345
212543
213245
213254
213425
213452
215432
215423
215243
215234
231245
231254
231425
231452
231542
231524
232145
232154
232415
232451
232541
232514
241325
241523
243125
243152
243215
243251
242315
242513
245231
245213
245123
245132
251342
251324
251432
251423
251243
251234
252341
252314
252431
252413
252143
252134
322145
322154
322415
322451
322541
322514
321245
321254
321425
321452
321542
321524
325142
325124
325412
325421
325241
325214
322145
322154
322415
322451
322541
322514
321245
321254
321425
321452
321542
321524
325142
325124
325412
325421
325241
325214
312245
312254
312425
312452
312542
312524
312245
312254
312425
312452
312542
312524
315242
315224
315422
315422
315242
315224
342125
342152
342215
342251
342521
342512
341225
341252
341225
341252
341522
341522
342125
342152
342215
342251
342521
342512
345122
345122
345212
345221
345221
345212
422315
422513
423215
423251
423125
423152
421325
421523
425132
425123
425213
425231
422315
422513
423215
423251
423125
423152
421325
421523
425132
425123
425213
425231
432215
432251
432125
432152
432512
432521
432215
432251
432125
432152
432512
432521
431225
431252
431225
431252
431522
431522
412325
412523
413225
413252
413225
413252
412325
412523
415232
415223
415223
415232
452312
452321
452132
452123
452213
452231
451322
451322
451232
451223
451223
451232
452312
452321
452132
452123
452213
452231
522341
522314
522431
522413
522143
522134
523241
523214
523421
523412
523142
523124
521342
521324
521432
521423
521243
521234
522341
522314
522431
522413
522143
522134
523241
523214
523421
523412
523142
523124
521342
521324
521432
521423
521243
521234
542321
542312
542231
542213
542123
542132
543221
543212
543221
543212
543122
543122
542321
542312
542231
542213
542123
542132
541322
541322
541232
541223
541223
541232
512342
512324
512432
512423
512243
512234
513242
513224
513422
513422
513242
513224
512342
512324
512432
512423
512243
512234
可能的组合数:396
java算法问题 排列组合 给定一组字符串,产生所有可能的集合
这是我写的一个取组合的方法:
package Combination.c3;
import java.util.ArrayList;
import java.util.List;
public class Combinations {
/*
* 设有n个元素,组合数量有2的n次方种。
* 对 0 到 2的n次方-1 中的每个数,考察其二进制悔并位形式,位数为1代表相应元素加入
* 到组合,0则不加入该元素至组合。
*
* 取组合方法
* 参数: list ---- 原始数组
* 返回: 包含所有组合数组的数组
*/
public static ListListObject getCombinations(ListObject list) {
ListListObject result = new ArrayListListObject();
long n = (long)Math.pow(2,list.size());
ListObject combine;
for (long l=0L; ln; l++) {
combine = new ArrayListObject();
for (int i=0; ilist.size(); i++) {
if ((li1) == 1)
combine.add(list.get(i));
}
result.add(combine);
}
return result;
}
//测试
public static void main(String[] args) {
ArrayListObject list = new ArrayListObject();
list.add("a");
list.add("b"碧纯迹);
list.add("c");
list.add("d");
list.add("e");
list.add("f");
list.add("g");
list.add("h");
list.add("i");
list.add("裤誉j");
ListListObject result = getCombinations(list);
System.out.println(list.toString());
System.out.println(result.toString());
}
}
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组合算法和java组合和聚合代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
