数组大小减半思路简单,主要是熟悉python中collections.Counter的用法,采用贪心策略即可。 示例: 图1 数组大小减半输入输出示例 代码: class Solution:def minSetSize(self, arr):count = Counter(arr)n, ans = 0, 0for i, value in count.most_common():n +
题目 就是求 1 ∼ n 1\sim n 1∼n排列逆序对总数为 m m m,字典序最小 分析 一开始最大逆序对总数为 n ∗ ( n − 1 ) / 2 n*(n-1)/2 n∗(n−1)/2 ( n n n个位置) 首先如果当前最大逆序对总数不少于 m m m,就把最小数插入当前最前的位置,否则插入当前最后的位置, m m m减去最小数产生的逆序对总数。 代码 #includ