python-leetcode-独一无二的出现次数

部署运行你感兴趣的模型镜像

1207. 独一无二的出现次数 - 力扣(LeetCode)

可以使用 Python 代码来实现这个功能,思路如下:

  1. 使用 collections.Counter 统计每个数字的出现次数。
  2. 检查这些出现次数是否唯一(即没有重复的次数)。

以下是代码实现:

from collections import Counter

def uniqueOccurrences(arr):
    count = Counter(arr)  # 统计每个数字的出现次数
    occurrences = list(count.values())  # 获取所有的出现次数
    return len(occurrences) == len(set(occurrences))  # 检查是否有重复的出现次数

# 示例测试
print(uniqueOccurrences([1,2,2,1,1,3]))  # True
print(uniqueOccurrences([1,2]))          # False
print(uniqueOccurrences([-3,0,1,-3,1,1,1,-3,10,0]))  # True

代码解析:

  • Counter(arr) 计算每个元素出现的次数,返回字典 {元素: 出现次数}
  • count.values() 获取所有出现次数
  • set(occurrences) 去重后检查长度是否变化,若变化则说明有重复次数

这种方法的时间复杂度是 O(n),因为 Counterset 操作都是线性的。

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值