给出数字 K ,请输出所有结果小于 K 的整数组合到一起的最少交换次数。
给定一个整数 K 和一个整数数组,请输出将所有小于 K 的数字组合到一起所需的最少交换次数。组合到一起的意思是这些数字在数组中连续排列,但不要求它们在原数组中的相对位置不变。
记所有小于K的数的数量为count,那么我们用一个长度为current_count(初始为count)的滑动窗口扫描数组,每次移动时相当于窗口第一个数被弹出去,数组下一个数被加进来,那么我们记录max_count表示小于K的数最多时是多少,那么最少需要交换的次数就等于count-max_count