function findFloorAndCeil(arr, N) {
let floorval = Number.MIN_SAFE_INTEGER; // Initialize to smallest possible value
let ceilval = Number.MAX_SAFE_INTEGER; // Initialize to largest possible value
for (const num of arr) {
if (num <= N && num > floorval) {
floorval = num; // Update floorval if num is closer to N
}
if (num >= N && num < ceilval) {
ceilval = num; // Update ceilval if num is closer to N
}
}
// If no valid floorval or ceilval is found, set them to a special value
if (floorval === Number.MIN_SAFE_INTEGER) {
floorval = -1;
}
if (ceilval === Number.MAX_SAFE_INTEGER) {
ceilval = -1;
}
return [floorval, ceilval];
}
const arr = [4, 10, 8, 2, 6, 9, 1];
const N = 5;
const [floorval, ceilval] = findFloorAndCeil(arr, N);
console.log("floor:", floorval === -1 ? "None" : floorval);
console.log("ceil:", ceilval === -1 ? "None" : ceilval);
/*
run:
floor: 4
ceil: 6
*/