不同平均值—集合—力扣—Python

一、题目描述:

 二、代码解题:

1.不含注释语句的

class Solution:
    def distinctAverages(self, nums: List[int]) -> int:
        
        avg = set([])
        l = len(nums)//2
        for i in range(0,l):
            mi = min(nums)
            ma = max(nums)
            p = (mi+ma)/2
            avg.add(p)
            nums.remove(mi)
            nums.remove(ma)
        return len(avg)

2.含注释语句的

class Solution:
    def distinctAverages(self, nums: List[int]) -> int:
        # 创建一个空集合,用于存储不同的平均数
        avg = set([])
        # 计算需要计算的平均数的个数
        l = len(nums)//2
        # 循环计算平均数
        for i in range(0,l):
            # 找到当前列表中的最小值和最大值
            mi = min(nums)
            ma = max(nums)
            # 计算当前最小值和最大值的平均数
            p = (mi+ma)/2
            # 将计算出的平均数添加到集合中
            avg.add(p)
            # 从列表中移除已经使用过的最小值和最大值
            nums.remove(mi)
            nums.remove(ma)
        # 返回不同平均数的个数
        return len(avg)

三、知识点整理:

Python中的set()集合有以下常用方法:

1. add(element):向集合中添加元素。
2. clear():清空集合中的所有元素。
3. copy():复制集合。
4. difference(set):返回集合与另一个集合的差集。
5. difference_update(set):移除集合中与另一个集合相同的元素。
6. discard(element):移除集合中指定的元素。
7. intersection(set):返回集合与另一个集合的交集。
8. intersection_update(set):保留集合中与另一个集合相同的元素。
9. isdisjoint(set):判断集合与另一个集合是否没有交集。
10. issubset(set):判断集合是否为另一个集合的子集。
11. issuperset(set):判断集合是否为另一个集合的超集。
12. pop():随机移除集合中的一个元素。
13. remove(element):移除集合中指定的元素,如果元素不存在则抛出异常。
14. symmetric_difference(set):返回集合与另一个集合的对称差集。
15. symmetric_difference_update(set):将集合更新为集合与另一个集合的对称差集。
16. union(set):返回集合与另一个集合的并集。
17. update(set):将集合更新为集合与另一个集合的并集。

常用的我已经标红

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值