mod: findClosestNumber

This commit is contained in:
guozhigq
2024-04-05 00:02:25 +08:00
parent 5500a58c32
commit ec7762644b
2 changed files with 21 additions and 5 deletions

View File

@ -209,6 +209,8 @@ class Utils {
static int findClosestNumber(int target, List<int> numbers) {
int minDiff = 127;
int closestNumber = 0; // 初始化为0表示没有找到比目标值小的整数
// 向下查找
try {
for (int number in numbers) {
if (number < target) {
@ -221,6 +223,20 @@ class Utils {
}
}
} catch (_) {}
// 向上查找
if (closestNumber == 0) {
try {
for (int number in numbers) {
int diff = (number - target).abs();
if (diff < minDiff) {
minDiff = diff;
closestNumber = number;
}
}
} catch (_) {}
}
return closestNumber;
}