目标
给你两个整数 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
思路
给定一个正整数 num
,以及操作次数 t
,求一个数字 x
能够在 t
次操作后与 num
相等。每一次操作可以使 x
增大或减小1,同时可以选择使 num
增大或减少1。问 x
最大是多少。
要使 x
最大则应该选大于 num
的数,操作减1,为了使 x
尽可能大,应该同时增大 num
,使 x
与 num
相向变化。很明显,x
最大为 num + 2 * t
。
代码
/**
* @date 2024-05-21 8:47
*/
public class TheMaximumAchievableX2769 {
public int theMaximumAchievableX(int num, int t) {
return num + 2 * t;
}
}