一个包,也称为多集,是一个无序的集合。您可以将其称为允许重复的集合,或者称为未排序/未索引的列表(或数组)。在这个挑战中,您需要执行袋操作:加法,差,乘法,除法,计数和相等性测试。
运作方式
指定的操作可能不是常规的。
- 另外,将两个袋子合并为一个,保留每个值的总数
[1,2,2,3] + [1,2,4] = [1,1,2,2,2,3,4]
- 差异从袋子中除去另一个袋子的每个元素,或者如果没有这样的元素则不执行任何操作
[1,2,2,4] - [1,2] = [2,4]
[1,2,3] - [2,4] = [1,3]
- 乘法将袋子中的每个元素相乘。
[1,2,3,3,4] * 3 = [1,1,1,2,2,2,3,3,3,3,3,3,4,4,4]
2 * [1,3] = [1,1,3,3]
- 除法是不常见的:将每n个相等的元素放入n个相等的新袋子中,不能形成n组的元素保留在袋子中。退回n个新袋子中的任何一个。
[1,1,2,2,2] / 2 = [1,2]
[1,2,2,3,3,3] / 3 = [3]
- 计数计算可以从股息袋中生产多少个除数袋
[1,1,2,2,2,2,3,3,3] c [1,2,3] = 2
- 相等性测试检查两个袋子中每个元素的编号是否相同
[1,2,2,3] == [3,2,1,2] = truthy
[1,2,3] == [1,2,2,3] = falsy
(也可以=
用于此)
如果您为运算符使用自己的符号,请指定。
格式
行李将显示为表格列表[1,1,2,3,4]
。您可以使用除方括号以外的任何其他方括号,甚至可以使用引号,或者完全不使用。int
就此问题而言,元素将是整数(数学上不一定是)。袋子不必分类。
该输入格式将两个袋子或袋和一个整数,与操作者。您可以指定自己的格式,只要它包含这三种格式即可。
在输出格式应该是相同格式的单袋。
规则
- 您不得使用已经实现这些功能的内置函数,操作或库(包括标准库);可以使用列表串联和乘法,因为它们是定义列表操作,而不是袋操作(基本上发生相同的事情)
- 适用标准漏洞
- 最短答案胜
测试用例
[1,2,2,3] + [1,2,4]
[1,1,2,2,2,3,4]
[1,2,2,4] - [1,2]
[2,4]
[1,2,3] - [2,4]
[1,3]
[1,2,3,3,4] * 3
[1,1,1,2,2,2,3,3,3,3,3,3,4,4,4]
2 * [1,3]
[1,1,3,3]
[1,1,2,2,2] / 2
[1,2]
[1,2,2,3,3,3] / 3
[3]
[1,1,2,2,2,2,3,3,3] c [1,2,3]
2
[3,2,1,2] == [1,2,2,3]
truthy
[1,2,3] == [1,2,2,3]
falsy