ojNextCombination function utilities

bool ojNextCombination(
  1. List<int> a,
  2. int n
)

Generate all k-combinations of n cards

Implementation

bool ojNextCombination(List<int> a, int n) {
  int k = a.length;

  for (int i = k - 1; i >= 0; i -= 1) {
    if (a[i] < n - k + i + 1) {
      a[i] += 1;
      for (int j = i + 1; j < k; j += 1) {
        a[j] = a[j - 1] + 1;
      }
      return true;
    }
  }
  return false;
}