算法问题~~

DeluxWorld 2005-09-13 03:16:03
数组中有3中类型的对象a,b,c,如何遍历数组得到只有a类型,b类型,c类型和2种类型,3种类型的6种情况?谢谢
...全文
130 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangqs 2005-09-13
  • 打赏
  • 举报
回复
同意 sunxutx(孤云挂月) 的想法,不过我觉得不需要用一个数组,而是采用一个整数,然后采用位运算,最后直接返回这个整数。

ChDw 2005-09-13
  • 打赏
  • 举报
回复
从1到 2^N - 1遍历就可以了

char[] array = new char[]{'a','b','c','d'};
int max = (int) Math.pow(2, array.length);
for(int i = 1; i < max; i++) {
for(int j = 0; j < array.length; j++) {
if( (i & (1 << j)) != 0)
System.out.print(array[j] + ",");
}
System.out.println();
}
sunxutx 2005-09-13
  • 打赏
  • 举报
回复
比较笨的方法
设定3个标识位
flag[3]
遍历数组
有符合的条件就把标识位改变
然后判断标识位的状态就知道事那种情况了
DeluxWorld 2005-09-13
  • 打赏
  • 举报
回复
昏了
数组为自定义,存放类型也为自定义,第一种情况返回1,第一种情况返回2,。。。
第7种返回7 关键在于如何遍历
sunxutx 2005-09-13
  • 打赏
  • 举报
回复
7种。。。
你的数组是什么类型?
是系统基本类型?
还是自己定义的?
DeluxWorld 2005-09-13
  • 打赏
  • 举报
回复
hehe ,不好意思啊
只存在a 为一种情况
. .....b...........
......c...........
存在a和b为一种情况
存在a和c为一种情况
存在c和b为一种情况
3种类型都存在为第6种情况
有没有比较简单的算法,谢过
sunxutx 2005-09-13
  • 打赏
  • 举报
回复
楼主能说的明白点么?
什么叫2种类型
3种类型
你这样分才能出5种
哪里来的6种情况?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧