Leetcode 1481. Least Number of Unique Integers after K Removals

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

1. Description

Least Number of Unique Integers after K Removals

2. Solution

  • Version 1
class Solution:
    def findLeastNumOfUniqueInts(self, arr, k):
        stat = {}
        for num in arr:
            stat[num] = stat.get(num, 0) + 1
        result = sorted(stat.items(), key=lambda item: item[1])
        while k > 0:
            k = k - result[0][1]
            if k >= 0:
                result.pop(0)
        return len(result)
  • Version 2
class Solution:
    def findLeastNumOfUniqueInts(self, arr, k):
        stat = {}
        for num in arr:
            stat[num] = stat.get(num, 0) + 1
        result = sorted(stat.items(), key=lambda item: item[1])
        index = 0
        while k > 0:
            k = k - result[index][1]
            if k >= 0:
                index += 1
        return len(result) - index
  • Version 3
class Solution:
    def findLeastNumOfUniqueInts(self, arr, k):
        stat = {}
        for num in arr:
            stat[num] = stat.get(num, 0) + 1
        result = sorted(arr, key=lambda num: (stat[num], num))
        return len(set(result[k:]))

Reference

  1. https://leetcode.com/problems/least-number-of-unique-integers-after-k-removals/
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容