python实战之算法题

1.给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n), 可知至少存在一个重复的整数,假设只有一个重复的整数,请找出这个重复的数

def find_duplicate(nums):
    count = {}  # 创建一个空字典用于存储每个数字的出现次数
    for num in nums:
        if num in count:
            count[num] += 1  
        else:
            count[num] = 1 
    for key, value in count.items():
        if value > 1:  # 检查哪个数字的计数器大于1
            return key  # 如果找到这样的数字,则返回它
    return "No duplicate found"  # 如果没有找到这样的数字,则返回消息

# 测试代码
nums = [1, 2, 3, 8, 5, 6, 7, 8, 9]
print(find_duplicate(nums))

        这个问题可以通过建立一个字典来解决,字典的键是数组中的数字,值是数字出现的次数。由于我们知道数组中至少有一个重复的整数,所以我们可以通过遍历字典来找到出现次数大于1的数字,即重复的数字。

测试:

2.找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)

def find_numbers(n):
    result = []
    for i in ran
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值