java组合算法(java组合和聚合代码)

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

本篇文章给大家谈谈java组合算法,以及java组合和聚合代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

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组合和聚合代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

发布于 2023-04-13 18:04:13
收藏
分享
海报
120
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了