作者TonyQ (骨头)
看板java
标题Re: [问题] 组合排列?
时间Sun Jan 13 22:10:49 2008
针对进位法的部份今天骑车的时候
(声明:我绝对不是因为骑车都在想程式才被撞的= =;)
想到了一个比较适合的解,boolean拿来算还是很麻烦。
这次是bitwise,也是进位法的延伸。
原理说明
假设我阵列有4个元素 也就是 - - - -
我今天可以视为 0 ~ 15 的所有二进位表示
8 4 2 0
0 -> 0 0 0 0
1 -> 0 0 0 1
2 -> 0 0 1 0
.
.
.
15 -> 1 1 1 1
於是我就可以透过 & 的方式来判断要不要取这位
这样就不用自己手动帮boolean作进位了
详细的code参照这页
http://tony1223.no-ip.info:1223/bmore?codePaste&4
唯一的问题就在於阵列索引值 j 要先作 2^j
才能够对 上面的1~15 作bitwise 。
不晓得算Math.pow(2,j) 比较伤还是自己维护boolean比较伤。XD
总之难得用上 bitwise ,提出来分享一下~
--
▄▅▆▇███▇▆▅▄▃ ╰┼╯─╮ ╮
◥███████████◣ ╰┼╯=│=│
◥██████───────◣ *. ╯ ╯ ╯ の 物 语 .*
◥███████──────◣ ~ ◢◣ ◢◣
◥██████───────◤ ◥◤* 空白的世界.翼
*◥◤
◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂
~telnet://tony1223.no-ip.info
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.59.247
1F:推 tkcn:2^n = 1<<n 01/14 01:31
2F:→ TonyQ:nice!!果然bitwise学的不够熟 感恩~!!哈 01/14 02:30