All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g2201_2300.s2239_find_closest_number_to_zero.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g2201_2300.s2239_find_closest_number_to_zero;

// #Easy #Array #2022_06_10_Time_2_ms_(84.21%)_Space_50.9_MB_(41.29%)

/**
 * 2239 - Find Closest Number to Zero\.
 *
 * Easy
 *
 * Given an integer array `nums` of size `n`, return _the number with the value **closest** to_ `0` _in_ `nums`. If there are multiple answers, return _the number with the **largest** value_.
 *
 * **Example 1:**
 *
 * **Input:** nums = [-4,-2,1,4,8]
 *
 * **Output:** 1
 *
 * **Explanation:** 
 *
 * The distance from -4 to 0 is |-4| = 4. 
 *
 * The distance from -2 to 0 is |-2| = 2. 
 *
 * The distance from 1 to 0 is |1| = 1. The distance from 4 to 0 is |4| = 4. 
 *
 * The distance from 8 to 0 is |8| = 8. 
 *
 * Thus, the closest number to 0 in the array is 1. 
 *
 * **Example 2:**
 *
 * **Input:** nums = [2,-1,1]
 *
 * **Output:** 1
 *
 * **Explanation:** 1 and -1 are both the closest numbers to 0, so 1 being larger is returned. 
 *
 * **Constraints:**
 *
 * *   `1 <= n <= 1000`
 * *   -105 <= nums[i] <= 105
**/
public class Solution {
    public int findClosestNumber(int[] nums) {
        int mini = Integer.MAX_VALUE;
        int closestNum = 0;
        for (int n : nums) {
            if (mini > Math.abs(n)) {
                mini = Math.abs(n);
                closestNum = n;
            } else if (mini == Math.abs(n) && closestNum < n) {
                closestNum = n;
            }
        }
        return closestNum;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy