Re: [問題]找出一序列的所有子序列

看板java作者 (骨頭)時間19年前 (2006/04/08 02:10), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《silvemoonfox.bbs@bbs.csie.mcu.edu.tw (藍星輝)》之銘言: : 我想問如何用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
文章代碼(AID): #14DgiRtf (java)
文章代碼(AID): #14DgiRtf (java)