摘要: 首先c一手暴力法:利用树状数组,线段树,归并排序法查找逆序对,即全局倒置;在求出局部倒置,时间复杂度为nlogn 这里为了好写,采用树状数组方法进行逆序对求解 注:树状数组中下标不能有0,要对原数组进行+1修正 c ++ class Solution { int n; int tr[1000010] 阅读全文
posted @ 2023-07-04 23:35 深渊之巅 阅读(13) 评论(0) 推荐(0)
摘要: 本题,我们可以先统计出words2中所有单词中每个字母出现的最大频次;再和words1中的每个单词依次进行比较。 python class Solution: def wordSubsets(self, words1: List[str], words2: List[str]) -> List[st 阅读全文
posted @ 2023-07-04 22:12 深渊之巅 阅读(4) 评论(0) 推荐(0)
摘要: 题目性质:分块后每个块中的最大值单调递增,可以利用单调栈求解。 我们将每个块中的最大值放入单调栈中, 最终的结果为单调栈的大小。 c ++ class Solution { const static int N = 15; public: int maxChunksToSorted(vector<i 阅读全文
posted @ 2023-07-04 09:59 深渊之巅 阅读(11) 评论(0) 推荐(0)