2769. 找出最大的可达成数字
题目描述
给你两个整数 num
和 t
。
如果整数 x
可以在执行下述操作不超过 t
次的情况下变为与 num
相等,则称其为 可达成数字 :
- 每次操作将
x
的值增加或减少1
,同时可以选择将num
的值增加或减少1
。
返回所有可达成数字中的最大值。可以证明至少存在一个可达成数字。
示例 1:
输入:num = 4, t = 1 输出:6 解释:最大可达成数字是 x = 6 ,执行下述操作可以使其等于 num : - x 减少 1 ,同时 num 增加 1 。此时,x = 5 且 num = 5 。 可以证明不存在大于 6 的可达成数字。
示例 2:
输入:num = 3, t = 2 输出:7 解释:最大的可达成数字是 x = 7 ,执行下述操作可以使其等于 num : - x 减少 1 ,同时 num 增加 1 。此时,x = 6 且 num = 4 。 - x 减少 1 ,同时 num 增加 1 。此时,x = 5 且 num = 5 。 可以证明不存在大于 7 的可达成数字。
提示:
1 <= num, t <= 50
解法
方法一:数学
我们注意到,每次操作可以将 $x$ 减少 $1$,同时将 $num$ 增加 $1$,这样 $x$ 和 $num$ 的差值就会减少 $2$,而最多可以操作 $t$ 次,所以最大可达成数字为 $num + t \times 2$。
时间复杂度 $O(1)$,空间复杂度 $O(1)$。
1 2 3 |
|
1 2 3 4 5 |
|
1 2 3 4 5 6 |
|
1 2 3 |
|
1 2 3 |
|