nextPermutation method
Implementation
List<int> nextPermutation(int n, [int? r]) {
if (r == null || r < 0 || r > n) {
r = n;
}
final numbers = List.generate(n, (index) => index);
int numbersCount = n;
return List.generate(r, (index) {
final index = nextInt(numbersCount);
final number = numbers[index];
numbers[index] = numbers[--numbersCount];
return number;
});
}