Учитывая массив длины N и целое число K, сортируйте массив как можно больше, чтобы ни один элемент не перемещался больше, чем K позиций слева от него. Однако элемент может путешествовать так же, как ему нравится.
Пусть определим сортировку как число неупорядоченных пар, т.е. сортировка (1,2,3) = 0 и сортировка (3,1,2) = 2.
Уточнение: если первые элементы
k+1
массива перемещаются в конец массива, другие должны считаться перемещенными k + 1 позициями влево.
Это вопрос интервью. Я думал о том, чтобы использовать пузырь. Внешний цикл будет запускать K раз с временем выполнения O (nk). Наименьшее целое число будет единственным целым числом, сдвинутым влево K раз. Другие целые числа будут сдвинуты влево меньше, чем K.
Есть ли более эффективный способ решения этой проблемы?