27.小杨的储蓄
【题目描述】
小杨共有 N 个储蓄罐,编号从 1 到 N(1≤N≤20)。从第1 天开始,小杨每天都会往储蓄罐里存钱。具体来说,第 i 天他会挑选一个储蓄罐ai(1≤ai≤N),并存入 i 元钱。
默认小猫角色和白色背景。过了 D (1≤D≤100)天后,他已经忘记每个储蓄罐里都存入了多少钱了,你能帮帮他吗?
例如: N = 2,表示小杨有 2 个储蓄罐,编号为 1 和 2;
D = 3,表示小杨存了 3 天钱,每天存入钱的储蓄罐的编号存储在列表lst 中,lst = [1, 2, 1]表示第 1 天向 1 号储蓄罐存入 1 元,第2 天向2 号储蓄罐存入2元,第三天向 1 号储蓄罐存入 3 元。
result = [4, 2]表示经过 3 天后,1 号储蓄罐中有 4 元,2 号储蓄罐中有2元。
【输入描述】 新建变量 N,表示小杨有 N 个储蓄罐。 新建列表“lst”存储小杨每天存入钱的储蓄罐编号,D 天后lst 中有D 项数据表示第 1 天到第 D 天,存入钱的储蓄罐编号。
如下图所示:
【输出描述】 新建列表“result”表示第 D 天后每个储蓄罐中存入的钱数,即“result”有N 项第 1 项表示编号 1 的储蓄罐存入的钱数,第 2 项表示编号2 的储蓄罐存入的钱数,…,第 N 项表示编号 N 的储蓄罐存入的钱数。
如下图所示:
【输入样例】 N = 2 lst = [1, 2, 1]
【输出样例】 result = [4, 2]
【输入样例】 N = 3 lst = [1, 1, 1, 3, 1]
【输出样例】 result = [11, 0, 4]
注意:
1. 变量名的拼写(包括大小写)要和题目完全一致。
2. 输入变量直接赋值即可,无需使用“询问并等待”积木块。
【题目大意】
lst 列表表示储蓄罐的编号,所以需要先对lst 列表遍历,再用lst里的元素作为编号,找到 result 列表中对应的储蓄罐的钱,加上要存入的钱(i变量),就是该储蓄罐存入之后的钱。
【解题思路】
1、创建 result 列表,在列表中添加 N 个 0,表示 N 个储蓄罐一开始的钱;
2、对 lst 列表遍历,i 表示每次要存入的钱,lst 的第 i 项表示对应的储蓄罐编号;
3、将变量 a 设为 result 的第储蓄罐编号项+i,表示存入之后的钱;
4、将 result 的第储蓄罐编号项替换成存入之后的钱(变量a);
5、这样,遍历结束后,就可以得到一个存入之后的列表result。