復(fù)盤|第111場雙周賽
統(tǒng)計和小于目標(biāo)的下標(biāo)對數(shù)目
【排序 + 雙指針】初始化左右指針l = 0, r = n - 1。排序后,如果nums[l] + nums[r] ≥ target, r --;如果nums[l] + nums[r] < target說明nums[l]與nums[l + 1: r]中任何相加都<target,找到r- l個數(shù)對。
循環(huán)增長使字符串子序列等于另一個字符串
【雙指針】同向雙指針i, j遍歷str1和str2,如能匹配則i++;j++,否則i++。最后j是否移動到了str2的末尾。
將三個組排序
【DP】找到最長非遞減子序列(LIS)的長度記為m,n-m即為使nums變?yōu)槊利悢?shù)組的最少步數(shù)。
范圍中美麗整數(shù)的數(shù)目
【數(shù)位DP】定義f(i, val, diff, isLimit, isNum)為構(gòu)造第i位及其之后數(shù)位的合法方案數(shù),其中:已經(jīng)構(gòu)造的數(shù)位,模k等于val,在第i位填入數(shù)字d后,將val更新為(val?10 + d) mod k,在遞歸終點判斷val是否為0;diff表示奇數(shù)數(shù)位的數(shù)目與偶數(shù)數(shù)位的數(shù)目的差,在遞歸終點判斷是否滿足diff = 0,設(shè)填入數(shù)字為d,diff += (d mod 2)?2 - 1,對應(yīng)奇數(shù)加一、偶數(shù)減一。
?