Skip to content

Instantly share code, notes, and snippets.

@sorgfal
Last active May 8, 2023 20:18
Show Gist options
  • Select an option

  • Save sorgfal/1e69fe996a7d07d2f1d01a2e81754a3d to your computer and use it in GitHub Desktop.

Select an option

Save sorgfal/1e69fe996a7d07d2f1d01a2e81754a3d to your computer and use it in GitHub Desktop.
import 'dart:math';
void main() {
var input = getSeriesOfNumbersWithAnOddNumberOfTimesEncounteredElement(10);
}
Iterable<int> getSeriesOfNumbersWithAnOddNumberOfTimesEncounteredElement(int length) {
List<int> original = [];
List<int> result = [];
for (int i = 0; i < length; i++) {
var n = Random().nextInt(255);
if (!original.contains(n)) {
original.add(n);
} else {
i--;
}
}
var odd = original.removeLast();
print("odd: $odd");
result.addAll(List.filled(getRandomOdd(10), odd));
for (var n in original) {
result.addAll(List.filled(getRandomEven(10), n));
}
result.shuffle();
return result;
}
int getRandomOdd(int max) {
var n = Random().nextInt(max);
return n%2==1? n:n+1;
}
int getRandomEven(int max) {
var n = Random().nextInt(max);
return n%2==0? n:n+1;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment