在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

java如何实现排列组合算法

130次阅读
没有评论

共计 1196 个字符,预计需要花费 3 分钟才能阅读完成。

在 Java 中可以使用递归来实现排列组合算法。以下是一个示例代码:

import java.util.ArrayList;
import java.util.List;
public class Combination {public static void main(String[] args) {List nums = new ArrayList();
nums.add(1);
nums.add(2);
nums.add(3);
nums.add(4);
int r = 3; // 选择 r 个元素进行组合
List<List> combinations = combine(nums, r);
for (List combination : combinations) {for (int num : combination) {System.out.print(num + " ");
}
System.out.println();}
}
public static List<List> combine(List nums, int r) {List<List> result = new ArrayList();
List path = new ArrayList();
dfs(nums, r, 0, path, result);
return result;
}
private static void dfs(List nums, int r, int start, List path, List<List> result) {if (path.size() == r) {result.add(new ArrayList(path));
return;
}
for (int i = start; i < nums.size(); i++) {path.add(nums.get(i));
dfs(nums, r, i + 1, path, result);
path.remove(path.size() - 1);
}
}
}

上述代码使用了深度优先搜索(DFS)的方式来生成排列组合。首先定义了一个 combine 方法,接收一个包含元素的列表和选择的元素个数 r 作为参数。在 combine 方法中,创建了一个结果列表 result 和一个路径列表 path。然后调用dfs 方法进行深度优先搜索。
dfs方法接收了待选择的元素列表 nums、选择的元素个数r、当前搜索的起始位置start、当前路径path 和结果列表 result 作为参数。首先判断当前路径的长度是否等于选择的元素个数 r,如果是,则将当前路径加入结果列表,并返回。否则,从起始位置start 开始遍历待选择的元素列表 nums,将当前元素加入路径列表path,然后递归调用dfs 方法继续搜索下一个元素,搜索的起始位置为当前位置的下一个位置 i + 1。当递归返回后,将当前元素从路径列表中移除,继续遍历下一个元素。最后,返回结果列表。
运行上述代码,输出结果为:

1 2 3
1 2 4
1 3 4
2 3 4

这就是给定列表中选择 3 个元素进行排列组合的结果。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-20发表,共计1196字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 精品国产情侣高潮露脸在线 | 国产一区二区在线影院 | 国产精品一区二区不卡的视频 | 美女大量吞精在线观看456 | 四虎影视免费 | 国产成人久久蜜一区二区 | 日本亚洲黄色 | 一级片色 | 91在线看视频 | 免费一级毛片在线播放视频 | 99视频在线免费观看 | 人人妻人人澡人人爽久久av | www.麻豆91| 极品尤物一区二区三区 | 国产精品天天在线 | 国内精品久久人妻互换 | 国内精品久久久久影院老司 | 亚洲精品乱码久久久久66 | 国产日韩欧美久久久 | 深夜福利国产精品亚洲尤物 | 久久最近最新中文字幕大全 | 色综合色狠狠天天综合色 | 免费看的黄色录像 | 国产舐足视频在线观看 | 精品哟哟哟国产在线不卡 | 亚洲av永久无码精品 | 一出一进一爽一粗一大视频 | 午夜精品乱人伦小说区 | av免费网址在线观看 | 欧美精品免费观看二区 | 国内国外日产一区二区 | 亚洲人成网亚洲欧洲无码久久 | 忘忧草视频网站 | 精品噜噜噜噜久久久久久久久 | 91视频综合 | 巨大乳女人做爰视频在线看 | 99精品亚洲 | 亚洲成人一区二区 | 5xsq在线观看| 国产欧美日本亚洲精品一4区 | 国产一级特黄全黄毛片 |