作者TonyQ (骨头)
看板java
标题Re: [问题]找出一序列的所有子序列
时间Sat Apr 8 02:20:13 2006
※ 引述《[email protected] (蓝星辉)》之铭言:
: 我想问如何用java写把
: 把一串序列<1 2 3 4>的子序列通通找出来?
: 如:
: 输入 1 2 3 4
: 会印出 1,2,3,4,
: 1 2, 1 3, 1 4, 2 3, 2 4, 3 4,
: 1 2 3, 1 2 4, 2 3 4,
: 1 2 3 4
这是power_set问题 (都给你关键字了 去google一下)
不然以前在这里也有发过类似的文章 还有程式码 :P
良心建议 这种作业程度的问题先找找资料再发问会比较好 :)
底下是一些给你参考的资料
首先你要做的前置工作是必须是把每一个子集合的区块取出来
不管是用StringTokenizer或String.split()都可以 :P
先从全部的数量来看,这有甚麽规则,
这种问题就是加空集合共 2^4 个sub_set , why?
因为刚好就是印跟不印的所有排列组合。
2(印1、不印1) * 2(印2、不印2) * 2(印3、不印3) * 2(印4不印4)
=2^4
印印印印 印印印不 印印不印 印印不不 ....(後略)
1 2 3 4 1 2 3 1 2 4 1 2
用递回写很简单 , 用iterator写也不算太难 .
GL & HF :)
--
String temp="relax"; | Life just like programing
while(buringlife) String.forgot(temp); | to be right or wrong
while(sleeping) brain.setMemoryOut(); | need not to say
stack.push(life.running); | the complier will
stack.push(scouting.buck()); | answer your life
stack.push(bowling.pratice()); | Bone
everything
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.138.240.57