问题 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语言代码
ZGSOJ:1863
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
7条回答 默认 最新
关注引自免费微信小程序:皆我百晓生
好的,下面是我对这个问题的解决方法。首先,我们需要找出一个数组来存储每个整数出现的次数。然后,我们将遍历这个数组,并使用一个循环来填充列表。
以下是具体的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个额外的空间。
解决 无用评论 打赏 举报 编辑记录