middleHeight method
Implementation
double middleHeight(List<double> list, double delta) {
if (list.isEmpty) return 0;
final Map<double, int> counts = {};
for (var item in list) {
bool found = false;
for (var key in counts.keys) {
if ((item - key).abs() <= delta) {
counts[key] = counts[key]! + 1;
found = true;
break;
}
}
if (!found) {
counts[item] = 1;
}
}
int maxCount = counts.values.reduce((a, b) => a > b ? a : b);
List<double> freqList = counts.entries.where((entry) => entry.value == maxCount).map((entry) => entry.key).toList();
if (freqList.isEmpty) return 0;
final sum = freqList.reduce((a, b) => a + b);
return sum / freqList.length;
}