给定一个数组s,其包含n个整数。
你需要找到一个长度为k的副本数组t,使得你能够从原数组s中裁剪出最大数量的副本数组t。
裁剪出一个副本数组t的定义如下:对于副本数组里的每个元素ti,你都必须从原数组s中找到与其相同的元素,并把它从s中删去。如果一些元素ti不能在原数组s中被找到,那么你就不可以在原数组s中裁剪出这样的副本数组t。数组s与数组t均可以包含相同的元素。
举一个例子: 如果s = {1,2,3,2,4,3,1},并且k = 3。一种可能的答案是t = {1,2,3}。以数组t为副本可以在原数组中裁剪两次。理由如下:
为了裁剪出第一组副本数组t,你可以裁剪{1,2,3,2,4,3,1}(加粗的数字),在第一次裁剪完后,原数组s将变成{1,3,2,4}。
为了裁剪出第二组副本数组t,你可以裁剪{1,3,2,4}(加粗的数组),在第二次裁剪完后,原数组s将变成{4}。
你的任务是去寻找一个副本数组t,使得你能够从原数组s中裁剪出最大数量的副本数组t。