请你执行上述操作任意次,返回 nums 中最多可以标记的下标数目。
题解
这题拿到手第一反应是贪心,先把数字排序,之后优先匹配数字小的。但这样连第二个样例都过不去。...[2, 4, 5, 9],在贪心策略下会导致2和4匹配,而5不能和9匹配。而2和5匹配可以将4空出来和9匹配,此时能够构成的答案更多。...于是我又想着反过来贪心,从大到小匹配,对于每个大数,尽可能匹配数字大的。还是[2, 4, 5, 9],优先从9开始匹配,9最大能匹配4,5能匹配2,这样就能得到答案了。...但这么做同样有反例,比如[1, 1, 4, 9],9会和4匹配,那么剩下的两个1将无法构成匹配。而显然两个1分别和4和9匹配更优。...我们想要验证在当前的数组情况下能不能构成k组匹配,怎么办呢?很简单,如果真的存在,那么一定是前k小的数和前k大的数匹配。数组排好序之后,前k小和前k大都是确定的,我们直接判断就可以了。