Re: [問題] 組合排列?
針對進位法的部份今天騎車的時候
(聲明:我絕對不是因為騎車都在想程式才被撞的= =;)
想到了一個比較適合的解,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
推
01/14 01:31, , 1F
01/14 01:31, 1F
→
01/14 02:30, , 2F
01/14 02:30, 2F
討論串 (同標題文章)