📜  最大的四位数是多少?(1)

📅  最后修改于: 2023-12-03 15:26:26.081000             🧑  作者: Mango

程序员介绍:求解最大的四位数

问题描述

给定一组数字,如何求解其中最大的四位数?

解决方案

对于一个四位数,其最大值为9999。因此,我们只需要从输入的数字中取出不超过四个最大的数位即可。具体步骤如下:

  1. 遍历输入数字,取出前四个最大的数位并存储;
  2. 如果输入数字中没有大于等于1000的数位,则直接返回9999;
  3. 如果输入数字中的数位不够四个,则在最高位补0直至达到四位数的形式。

下面,我们给出一个Python语言版本的解决方案:

def max_four_digit(numbers):
    digits = []
    for num in numbers:
        if num >= 1000:
            digits.append(num % 10000 // 1000)
            digits.append(num % 1000 // 100)
            digits.append(num % 100 // 10)
            digits.append(num % 10)
    digits.sort(reverse=True)
    if not digits:
        return 9999
    elif len(digits) < 4:
        digits.extend([0] * (4 - len(digits)))
    return digits[0] * 1000 + digits[1] * 100 + digits[2] * 10 + digits[3]
测试示例

我们可以使用下面的测试用例来验证我们的函数是否正确:

assert max_four_digit([1234, 5678, 91011]) == 9876
assert max_four_digit([123, 456, 789]) == 7890
assert max_four_digit([1, 2, 3]) == 9999
assert max_four_digit([]) == 9999
总结

本文介绍了如何求解最大的四位数,给出了Python语言版本的解决方案和相关测试用例。希望这篇文章对大家有所帮助。