復(fù)盤|第305場周賽
算術(shù)三元組的數(shù)目
【哈希表】用哈希表記錄每個元素,然后遍歷nums,看nums[j]-diff和nums[j]+diff是否都在哈希表中。遍歷nums[k],加入哈希表的同時可以順帶求出算術(shù)三元組,從而做到一次遍歷。
【三指針】nums嚴(yán)格遞增的,遍歷nums[k]時,i和j只增不減,可以用三個指針來實(shí)現(xiàn)判斷邏輯。
受限條件下可到達(dá)節(jié)點(diǎn)的數(shù)目
【DFS + 哈希表】用哈希表記錄哪些節(jié)點(diǎn)是受限的,建圖的時候只有當(dāng)兩個節(jié)點(diǎn)都不是受限的才連邊。然后DFS這棵樹,統(tǒng)計從0出發(fā)能訪問到的節(jié)點(diǎn)數(shù),即為答案。
檢查數(shù)組是否存在有效劃分
【DP】定義f[i+1]表示從nums[0]到nums[i]的這些元素能否有效劃分。
最長理想子序列
【DP】定義f[i] [c]表示s的前i個字母中的以c結(jié)尾的理想字符串的最長長度。