还有,需要指定编程语言和允许使用的库函数。否则某些题目在某些编程语言+库的组合下会变得十分简单,算法不需要自己编写。
比如,PHP似乎可以直接使用in_array
给出答案。如果编程语言自带map结构,算法也会变简单。
$map = array(
'卡片1' => 数量,
‘卡片2’ => 数量,
);
比如
$map = array(
'1' => 1,
‘3’ => 2,
);
至于代码逻辑,你应该自己思考。
可能用到的操作:
$map = array();
if (isset($map[$key])) {...}
$map[$key] = 1;
$map[$key]++;
$map[$key]--;
if ($map[$key] > 0) {...}
foreach ($array as $value) {...}
如果零基础,可能需要 https://www.runoob.com/php/php-syntax.html
排序后的数组可以直接比较(使用PHP5.4数组语法):
$a = [3, 1, 3];
$b = [1, 3, 3];
sort($a);
sort($b);
var_dump($a == $b);
var_dump($a === $b);
两种排列方法的复杂度应该是一样的。方法1排列时操作多,方法2验证时操作多。
M选N排列生成器:
@老虎会游咏q,输入定义的不清楚,无法编写交互代码。
1,2是什么?
1,3是什么?
3是什么?
为什么有一个空行
1,3,3是什么?