Find Closest Number to Zero
E
• Originally published at leetcode.com

Find Closest Number to Zero

javascript
1/**
2 * @description Find the closest number to zero in an array
3 * @param {number[]} nums
4 * @return {number}
5 *
6 * @example
7 * findClosesNumberr([-4, -2, 1, 4, 8]) => 1
8 */
9var findClosestNumber = function (nums) {
10 let size = nums.length;
11 let result;
12
13 for (i = 1; i <= size; i++) {
14 let currVal = nums[i - 1];
15
16 let gap;
17
18 if (currVal < 0) gap = 0 - currVal;
19
20 if (currVal > 0) gap = currVal - 0;
21
22 if (result === undefined) result = gap;
23
24 if (gap < result) result = gap;
25 }
26
27 return result;
28};
29
30/**
31 * @description Find the closest number to zero using Math.abs
32 * @param {number[]} nums
33 * @returns {number}
34 *
35 * @example
36 * findClosestNumberV2([-4, -2, 1, 4, 8]) => 1
37 */
38var findClosestNumberV2 = (nums) => {
39 let closest = Infinity;
40
41 for (let num of nums) {
42 if (Math.abs(num) < Math.abs(closest)) {
43 closest = num;
44 } else if (Math.abs(num) === Math.abs(closest) && num > closest) {
45 closest = num;
46 }
47 }
48
49 return closest;
50};
51
52export { findClosestNumber, findClosestNumberV2 };
53
How to find closest number to zero with multiple version
1 min read