介绍
您已经在后院的虚假国家担任财政部长的工作。您已决定在您的国家/地区为自己和不那么可信赖的朋友建立自己的银行。由于您不信任朋友,因此您决定编写一个程序来验证所有交易,以防止朋友过度消费您的虚构货币并破坏您的经济。
任务
给定初始余额和所有交易,请过滤掉某人试图超支的所有交易,并阻止所有试图超支的人(包括试图超支至已关闭账户的人)再次使用您的银行,方法是过滤掉往来于他的银行的交易。 /她的银行帐户。
输入输出
两个列表A和B作为输入和一个列表C作为输出。A是格式为的每个帐户的期初余额[["Alice", 5], ["Bob", 8], ["Charlie", 2], ...]。B是具有以下格式的交易列表,[["Bob", "Alice", 3], ["Charlie", "Bob", 5], ...]其中["Bob", "Alice", 3]表示Bob想要支付Alice 3货币单位。C格式应与相同B。A,B并且C可以采用任何合理的格式。
测试用例
A: [["Alice", 5], ["Bob", 2]]
B: [["Alice", "Bob", 5], ["Bob", "Alice" 7]]
C: [["Alice", "Bob", 5], ["Bob", "Alice" 7]]
A: [["A", 2], ["B", 3], ["C", 5]]
B: [["C", "A", 2], ["B", "C", 4], ["A", "B", 2]]
C: [["C", "A", 2]]
A: [["A", 2], ["B", 3]]
B: [["A", "B", 2], ["A", "B", 2]]
C: [["A", "B", 2]]
A: [["A", 4], ["B", 0]]
B: [["A", "B", 1], ["A", "B", 5], ["A", "B", 2]]
C: [["A", "B", 1]]
A: [["A", 2], ["B", 3], ["C", 4]]
B: [["A", "B", 3], ["C", "B", 4]]
C: [["C", "B", 4]]
A: [["A", 2], ["B", 3], ["C", 4]]
B: [["A", "B", 3], ["B", "A", 4], ["C", "B" 2]]
C: []
计分
这是代码高尔夫球,每种语言中以字节为单位的最短代码胜出。
@Laikoni甚至只是表单列表
—
暴民埃里克(Erik the Outgolfer)
["A", 2, "B", 3, "C", 5]?
建议测试用例:
—
Arnauld
A: [["A", 2], ["B", 3], ["C", 4]],B: [["A", "B", 3], ["C", "B", 4]],C: [["C", "B", 4]](以下无效的一个有效的交易)。
如果有人尝试超支,而预期的收件人已经超支了,会发生什么?
—
Nitrodon
在第二和第三个测试用例中,[“ B” 3]中没有逗号
—
Jo King
A也是一本字典,或元组的列表?