作者TonyQ (骨头)
看板java
标题Re: [问题] 字串拆解的问题
时间Mon Dec 31 21:43:20 2007
※ 引述《white87332 (........)》之铭言:
: 小弟是新手
: 想把一个字串拆解成以最後一个字元为主的的各种组合
: 比如说1357这个字串,拆成....17、37、57、137、157、357
: 想破头都不知道要用什麽方法
: 请教各位了 囧
以最後一个字元为主的各种组合
假设字串是 1357 的话
可以看成是 135 的组合问题 + 7
所谓135的组合就是
"" │
"1" │
"3" │
"5" │
"13" │
"15" │
"35" │
"135" │ "7"
至於怎麽找所有组合数,这在演算法里面有个keyword叫power set
不过你直接google powerset应该只会找到某搜寻引擎 XD
powerset algorithm 可能会好一点
基本上可以用二进位的进位法跟递回法,我个人是比较喜欢进位法。
逻辑就是 1 3 5 每个取跟不取的集合
1 3 5
F F F -> ""
F F T -> "5"
F T F -> "3"
F T T -> "35"
T F F -> "1"
T F T -> "15"
T T F -> "13"
T T T -> "135" 总数 2^3 八个
--
▄▅▆▇███▇▆▅▄▃ ╰┼╯─╮ ╮
◥███████████◣ ╰┼╯=│=│
◥██████───────◣ *. ╯ ╯ ╯ の 物 语 .*
◥███████──────◣ ~ ◢◣ ◢◣
◥██████───────◤ ◥◤* 空白的世界.翼
*◥◤
◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂
~telnet://tony1223.no-ip.info
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.59.247
2F:→ TonyQ:楼上 , 这只有固定长度的产出.以排列组合来说是P组合 12/31 22:31
3F:→ TonyQ:我写的是H组合 (可取可不取) 12/31 22:32
4F:推 white87332:感谢! 01/01 14:47