mod: findClosestNumber
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user