LeetCode 2239. Find Closest Number to Zero
您是打尖儿还是住店呢
编辑于 2023年04月21日 23:59
收录于文集
共500篇

Given an integer array  of size , return the number with the value closest to  in . 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

  • 我用的二维数组,所以肯定比较慢了,直接附上代码就行了。

代码块
JavaScript
自动换行
复制代码
public static int findClosestNumber(int[]nums){
        int n=nums.length;
        int[][]arr =new int[n][2];
        for (int i = 0; i < n; i++) {
            arr[i][0]=Math.abs(nums[i]);
            arr[i][1]=nums[i];
        }
        Arrays.sort(arr,(a,b)->a[0]==b[0]?b[1]-a[1]:a[0]-b[0]);
        return arr[0][1];
    }
复制成功

Runtime: 23 ms, faster than 5.80% of Java online submissions for Find Closest Number to Zero.

Memory Usage: 42.6 MB, less than 55.89% of Java online submissions for Find Closest Number to Zero.