五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ó)家法律
吴堡县| 湘潭市| 彭阳县| 沾化县| 广灵县| 左云县| 金堂县| 江安县| 白城市| 库尔勒市| 三河市| 兖州市| 穆棱市| 融水| 双城市| 康乐县| 越西县| 龙游县| 成安县| 庄河市| 永年县| 五家渠市| 新兴县| 罗江县| 仙游县| 额济纳旗| 武隆县| 宁德市| 海兴县| 高台县| 玛沁县| 安新县| 忻城县| 阳曲县| 姜堰市| 横山县| 通榆县| 上高县| 墨江| 山阴县| 新宁县|