多个集合积-笛卡尔积
来源:互联网 发布:mysql删除唯一约束 编辑:程序博客网 时间:2024/05/29 12:39
问题:求多个集合的笛卡尔积,{a,c}*{b,d}*{e,f,g}……
思路:使用两个临时集合交替存贮与集群中的集合的笛卡尔积。
public static void main (String[]args){ char[][] a = {{'a', 'b'}, {'c', 'e', 'y'}, {'z', 'y'}, {'e', 'g', 'h', 'x', 'f'}}; int x = 1; for (int i = 0; i < a.length; i++) { x *= a[i].length; } String[] temp = new String[x + 1]; String[] temp1 = new String[x + 1]; for (int i = 0; i < a[0].length; i++) { temp[i] = a[0][i] + ""; } boolean flag = true; for (int i = 1; i < a.length; i++) { x = 0; for (int j = 0; j < a[i].length; j++) { if (flag) { for (int k = 0; k < temp.length; k++) { if (temp[k] == null) break; temp1[x++] = a[i][j] + temp[k]; } } else { for (int k = 0; k < temp1.length; k++) { if (temp1[k] == null) break; temp[x++] = a[i][j] + temp1[k]; } } } if (flag) { flag = false; } else { flag = true; } } String[] re; if (flag) { re = temp; } else { re = temp1; } for (String ss : re) { if (ss != null) System.out.print(ss + " "); } }
output:
ezca ezcb ezea ezeb ezya ezyb eyca eycb eyea eyeb eyya eyyb gzca gzcb gzea gzeb gzya gzyb gyca gycb gyea gyeb gyya gyyb hzca hzcb hzea hzeb hzya hzyb hyca hycb hyea hyeb hyya hyyb xzca xzcb xzea xzeb xzya xzyb xyca xycb xyea xyeb xyya xyyb fzca fzcb fzea fzeb fzya fzyb fyca fycb fyea fyeb fyya fyyb
阅读全文
0 0
- 多个集合积-笛卡尔积
- 多个集合做笛卡尔积
- php 计算多个集合的笛卡尔积
- php 计算多个集合的笛卡尔积
- php 计算多个集合的笛卡尔积
- c++求若干个集合的笛卡尔积
- 排列组合 包含求集合笛卡尔积
- php中将多个数组组合成笛卡尔积!
- C# 对多个List<String>进行笛卡尔积
- 笛卡尔积
- 笛卡尔积
- 笛卡尔积
- 笛卡尔积
- 笛卡尔积
- 笛卡尔积
- 笛卡尔积
- 笛卡尔积
- 笛卡尔积
- 单线程
- 西山居_2018校招笔试(判断IP地址的合法性)
- Android5.0,6.0,7.0新特性总结
- 浅谈java垃圾收集器
- linux 下执行ant遇到的问题
- 多个集合积-笛卡尔积
- 9.15(floyed,dijkstra,与SPFA)
- 微信小程序--后端管理平台10删除提示框bootstrap
- 《C++ Primer》读书笔记第六章-2-返回类型 And 函数重载
- 杭电1038题目解答
- [js高手之路]Vue2.0基于vue-cli+webpack父子组件通信教程
- JAVA数据类型
- Mybatis——实现接口式编程
- equals 和 == 区别