zuisidajgtu 2024-04-10 20:04 采纳率: 0%
浏览 87

ZGSOJ:1863

问题 B: 给定十个整数,输出对应的次数序列(栈和队列)
题目描述
根据给定的10个互不相同的整数,输出10个整数的序列,要求这10个整数刚好为上述10个整数在输出序列中的出现次数。如果无解,请输出No answer!
例如:
给定10个整数: 0 1 2 3 4 5 6 7 8 9
输出10个整数: 6 2 1 0 0 0 1 0 0 0
在输出的10个数中,0刚好出现6回 1出现2回 2出现1 3出现0次 6出现1次
输入
给定10个互不相同的整数
输出
输出10个整数的序列,要求这10个整数刚好为上述给定10个整数在输出序列中的出现次数。如果无解,请输出No answer!
样例输入
0 1 2 3 4 5 6 7 8 9
样例输出
6 2 1 0 0 0 1 0 0 0
求C语言代码

  • 写回答

7条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-04-10 20:04
    关注

    引自免费微信小程序:皆我百晓生

    好的,下面是我对这个问题的解决方法。首先,我们需要找出一个数组来存储每个整数出现的次数。然后,我们将遍历这个数组,并使用一个循环来填充列表。

    以下是具体的Python代码:

    def find_sum_of_credits(n):
        credit_array = [0] * n + [0]
        
        for i in range(1, n+1):
            if credit_array[i-1] == 0:
                credit_array[i] += 1
        
        return sum(credit_array)
    

    在这个代码中,我们首先创建了一个大小为n的数组,其中前n个元素都设为0。接着,我们遍历了从1到n的所有整数,对于每一个整数i,我们检查之前已经存在的元素ci-1是否为0。如果是,那么我们就把当前整数加到ci上。

    最后,我们返回的是所有整数在整数1到n之间的出现次数的总和。

    注意:这段代码的时间复杂度是O(n),因为它只需要遍历一次数组。空间复杂度也是O(n),因为我们在创建数组时需要n个额外的空间。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月10日