|
|
|
|
|
|
|
Вернуться
| 1 Беляев Сергей Николаевич, 28 марта 2019 г. 7:48:05 | |
|
Слишком медленно. Можно за O(n). Сортировку можно заменить разворотом. И почему merge_sort? Простой sort эффективнее и по времени и по памяти работает. Достаточно грязи? :)
|
|
|
| 2 Федосов Ян Русланович, 28 марта 2019 г. 7:31:24 | |
|
Чёткий permutation за nlogn
|
|
|
| 3 Федосов Ян Русланович, 28 марта 2019 г. 7:31:07 | |
bool ya_permutation(int* p,int n){ for(int i = n-1; i>=1; --i){ if(p[i]<p[i+1]){ int ind, zn = 1000000000; for(int j = i+1; j<=n; ++j){ if(p[j]<zn&&p[j]>p[i]) ind = j, zn = p[j]; } p[i]^=p[ind]^=p[i]^=p[ind]; merge_sort(i+1,n); return 0; } } return 1; }
|
|
|
Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!
| | | |