Leetcode 第29場雙周賽題解

2021-10-07 14:27:10 字數 1048 閱讀 4137

5432. 去掉最低工資和最高工資後的工資平均值

思路:排序求和即可。

class solution 

}

5433. n 的第 k 個因子

思路:列舉n的因子即可,

class solution 

if (list.size() < k) return -1;

return list.get(k - 1);

}}

5434. 刪掉乙個元素以後全為 1 的最長子陣列

思路:首先求一波字首和,然後枚舉子陣列的右端點,然後二分左端點的位置,能夠滿足的條件的左端點l+1是sum[r]-sum[l]+1>=r-l+1。

class solution 

int l = 0, r = i, p = -1;

while (l <= r) else

l = mid + 1;

}if (p == i && nums[i] == 0 || p == -1)

continue;

ans = math.max(ans, i-p-1);

}return ans;

}}

5435. 並行課程 ii

思路:可能很多人上來第一感覺就是拓撲排序,並基於拓撲排序衍生出貪心思想,例如:我們優先學習入度為0並且以該課程向下遍歷深度需滿足當前最大.....還有其他的貪心思想,這些在比賽時一一找到了反例,本題考查的仍然是動態規劃,因此我們老老實實動歸就好啦,n只有15這麼大,妥妥的狀壓dp呀。

class solution 

for (int i = 0; i < dependencies.length; i++)

edges[dependencies[i][1] - 1] |= 1 << dependencies[i][0] - 1;

for (int i = 0; i < (1 << n); i++)

return dp[(1 << n) - 1];

}}

leetcode第8場雙周賽

這次雙周賽有意外,第二第三題按照提示返回int會報錯,要返回list 第一題給你乙個字串 s,返回只含 單一字母 的子串個數。示例 1 輸入 aaaba 輸出 8 解釋 只含單一字母的子串分別是 aaa aa a b aaa 出現 1 次。aa 出現 2 次。a 出現 4 次。b 出現 1 次。所以...

leetcode第 24 場雙周賽

給你乙個整數陣列nums。你可以選定任意的正數startvalue 作為初始值。你需要從左到右遍歷nums陣列,並將 startvalue 依次累加上nums陣列中的值。請你在確保累加和始終大於等於 1 的前提下,選出乙個最小的正數作為 startvalue 輸入 nums 3,2,3,4,2 輸出...

leetcode 第27場雙周賽

通過翻轉子陣列使兩個陣列相等 檢查乙個字串是否包含所有長度為k的二進位制子串 課程安排 摘櫻桃 3分 簡單 4分 中等 5分 中等 6分 困難 翻譯下題意,其實就是問我們兩個陣列是否相等,判斷陣列是否相等有很多方法,這邊我直接排序,遍歷一遍看是否有不一樣的元素 陣列排序的複雜度,故為o nlogn ...