国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

LeetCode(動(dòng)態(tài)規(guī)劃):464. 我能贏嗎

2023-01-13 00:44 作者:嘿拜灰  | 我要投稿

關(guān)于本題中的位運(yùn)算

public boolean f(int maxChoosableInteger, int desiredTotal, int choos) {
????if (desiredTotal <= 0) {
??????return false;
???}
????if (dp.containsKey(choos)) {
??????return dp.get(choos);
???}
????for (int i = 1;i <= maxChoosableInteger;i++) {
??????if ((choos & (1 << i)) == 0) {
????????if (!f(maxChoosableInteger,desiredTotal-i,choos | (1 << i))) {
??????????dp.put(choos,true);
??????????return true;
???????}
?????}
???}
????dp.put(choos,false);
????return false;
?}
怎么理解這個(gè)?
choos & (1 << i)) == 0?// 判斷i是否被拿
choos | (1 << i)   // 將第i位bit位標(biāo)為1
// 舉個(gè)例子
??//假如整數(shù)池是這樣
? ?1?2?3?4?5?6?7?8?9?10
??// 最開(kāi)始打算用一個(gè)一維數(shù)組表示 可以這樣
value : 0?0?0?0?0?0?0?0?0?0?0 -> int[]
index : 0?1?2?3?4?5?6?7?8?9?10?
??// 由于線性結(jié)構(gòu)對(duì)于改動(dòng)態(tài)規(guī)劃來(lái)說(shuō)復(fù)雜度較高,所有將參數(shù)int[]降維成int類(lèi)型
??// 利用int32個(gè)bit位表達(dá)信息 那么可以這樣
? 0?0?0?0?0?0?0?0?0?0?0 -> int
??// 此時(shí)我們將0視為未拿 1視為已拿
??// 如果 9被拿了那么從右往左以0位置起始就是第9位bit位標(biāo)為1
? 0?1?0?0?0?0?0?0?0?0?0 -> int
??// 假如10已經(jīng)被拿了但是此時(shí)想拿9怎么標(biāo) 將 1左移9位并且與choos做或運(yùn)算 也就是這種表達(dá):choos | (1 << 9)
??// 由于 : 0 | 0 = 0; 0 | 1 = 1; 1 | 1 = 1;
choos:?1?0?0?0?0?0?0?0?0?0?0 -> int
help:?0?1?0?0?0?0?0?0?0?0?0 -> int
ans:??1?1?0?0?0?0?0?0?0?0?0 -> int
??// 假如10,9,7,1都被拿了如何判斷9是否被拿 可以利用1左移9位并且與choos做與運(yùn)算也就是這種表達(dá):choos & (1 << 9)
??// 如果 ans != 0; 說(shuō)明9已經(jīng)被拿了
??// 由于 : 0 & 0 = 0; 0 & 1 = 0; 1 & 1 = 1;
choos:?1?1?0?1?0?0?0?0?0?1?0 -> int
help:?0?1?0?0?0?0?0?0?0?0?0 -> int
ans:??0?1?0?0?0?0?0?0?0?0?0 -> int



LeetCode(動(dòng)態(tài)規(guī)劃):464. 我能贏嗎的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
乌什县| 潞西市| 大邑县| 西贡区| 鱼台县| 崇左市| 洛扎县| 梅河口市| 禄劝| 封开县| 吴川市| 昌都县| 长葛市| 海淀区| 贺兰县| 榆树市| 象州县| 泽普县| 山西省| 抚顺县| 南汇区| 西平县| 周口市| 锦屏县| 新乐市| 海南省| 莆田市| 夏河县| 若尔盖县| 惠州市| 海伦市| 志丹县| 城市| 潍坊市| 施秉县| 社旗县| 桐城市| 朝阳市| 杨浦区| 图木舒克市| 炉霍县|