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

歡迎光臨散文網 會員登陸 & 注冊

復盤|第86場雙周賽

2022-10-23 20:30 作者:UCLmsc  | 我要投稿

2395. 和相等的子數(shù)組?https://leetcode.cn/problems/find-subarrays-with-equal-sum/

【滑動窗口】樸素版大小為2的滑動窗口。

【滑動窗口】用pairwise代替nums[i] + nums[i + 1]。

【滑動窗口】用pairwise代替nums[i] + nums[i + 1],用map(sum, _)代替相加。統(tǒng)計相鄰數(shù)字的和,加入哈希表去重,去重后如果不足n-1個,則子數(shù)組存在。

2396. 嚴格回文的數(shù)字?https://leetcode.cn/problems/strictly-palindromic-number/

【模擬】寫一個進制轉換函數(shù)converter將n轉換為x進制,將n轉換為2~n-2的所有進制數(shù),判斷條件。

【腦筋急轉彎】n = 4時,2進制下為100,不是回文串,n > 4時,根據(jù)帶余除法n = qb + r,取b = n - 2,q = 1, r = 2,所以n在n - 2進制下為12,不是回文串。在n的所有取值范圍內都能找到反例,故返回false。

2397. 被列覆蓋的最多行數(shù)?https://leetcode.cn/problems/maximum-rows-covered-by-columns/

【DFS】直接二進制枚舉選中的列,然后判斷是否覆蓋所有行中的 1,若是,更新答案。(二進制枚舉:只有0 1 兩種狀態(tài),用數(shù)組存浪費空間太大,用二進制存)

【二進制枚舉】由于數(shù)據(jù)范圍較小,可以枚舉所有大小為cols的列編號集合,對于每個集合,遍歷mat,統(tǒng)計所有1被覆蓋的行的個數(shù),個數(shù)最大值即為答案。代碼中,用二進制表示集合,二進制的第i位為1表示i在集合中,為0表示i不在集合中。01矩陣用[sum(i<< j) for i, j in enumerate(row)]能逆序,相當于2^0+ 2^1+ 2^2+…用mask檢驗枚舉的情況與實際情況是否匹配,用&,如果row(枚舉的) & row(mask的) == row(任意一個)說明匹配。

【Gosper's Hack】Gosper's Hack能快速枚舉cols個1的所有集合,比如n =7, cols = 4,需要枚舉0001111 ~ 1111000的所有四個1的二進制數(shù),Gosper's Hack算法原理:從右往左找到第一個01變成10,10右邊的所有11全部挪到最右邊。(lowbit為補碼 = x & -x)

2398. 預算內的最多機器人數(shù)目?https://leetcode.cn/problems/maximum-number-of-robots-within-budget/

【單調隊列 + 雙指針】求滑動窗口內的最大值,可以用單調隊列來求解,一般可以二分枚舉窗口k的大小,找到一個最大的k,實際本題不需要二分枚舉,只需要把固定窗口改為雙指針即可。代碼中,維護一個單調遞減的隊列,堆頂?shù)脑爻潆姇r間最長,tot記錄window里的runningCosts之和,枚舉區(qū)間右端點right,計算區(qū)間左端點left最小值,如果左端點left不滿足要求就右移。



復盤|第86場雙周賽的評論 (共 條)

分享到微博請遵守國家法律
遂平县| 水富县| 贵州省| 扶沟县| 承德县| 甘谷县| 当阳市| 平安县| 莎车县| 德安县| 富阳市| 绥江县| 达日县| 兴安县| 洪泽县| 福建省| 龙山县| 杨浦区| 高唐县| 奉贤区| 太湖县| 明光市| 尉氏县| 宁南县| 汤阴县| 宣威市| 凤凰县| 红桥区| 班玛县| 阜阳市| 漳平市| 图们市| 临西县| 乐都县| 井陉县| 黄陵县| 彭山县| 丽水市| 疏附县| 马边| 信宜市|