2239.找到最接近 0 的数字:遍历
【LetMeFly】2239.找到最接近 0 的数字:遍历
力扣题目链接:https://leetcode.cn/problems/find-closest-number-to-zero/
给你一个长度为 n
的整数数组 nums
,请你返回 nums
中最 接近 0
的数字。如果有多个答案,请你返回它们中的 最大值 。
示例 1:
输入:nums = [-4,-2,1,4,8] 输出:1 解释: -4 到 0 的距离为 |-4| = 4 。 -2 到 0 的距离为 |-2| = 2 。 1 到 0 的距离为 |1| = 1 。 4 到 0 的距离为 |4| = 4 。 8 到 0 的距离为 |8| = 8 。 所以,数组中距离 0 最近的数字为 1 。
示例 2:
输入:nums = [2,-1,1] 输出:1 解释:1 和 -1 都是距离 0 最近的数字,所以返回较大值 1 。
提示:
1 <= n <= 1000
-105 <= nums[i] <= 105
解题方法:遍历
使用变量ans
记录当前的最优答案,初始值为nums[0]
。
遍历nums
数组,对于其中元素t
,若以下则说明t
比ans
更优,更新ans
为t
:
abs(t) < abs(ans)
abs(t) == abs(ans)
且ans < 0
最终返回ans
。
- 时间复杂度$O(len(nums))$
- 空间复杂度$O(1)$
AC代码
C++
1 |
|
Python
1 |
|
Java
1 |
|
Go
1 |
|
同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/145264674
2239.找到最接近 0 的数字:遍历
https://blog.letmefly.xyz/2025/01/20/LeetCode 2239.找到最接近0的数字/