Re: [問題] 組合排列?

看板java作者 (骨頭)時間18年前 (2008/01/13 22:10), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串3/3 (看更多)
針對進位法的部份今天騎車的時候 (聲明:我絕對不是因為騎車都在想程式才被撞的= =;) 想到了一個比較適合的解,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
2^n = 1<<n
01/14 01:31, 1F

01/14 02:30, , 2F
nice!!果然bitwise學的不夠熟 感恩~!!哈
01/14 02:30, 2F
文章代碼(AID): #17YXlhRf (java)
文章代碼(AID): #17YXlhRf (java)