2413. 最小偶倍数

[!abstract] Problem: 2413. 最小偶倍数

思路

n为奇数的时候为2n,n为偶数的时候为n;

解题过程

作出这题不简单,问题是灵神这个一行秒的代码是怎么分析出来的?

这题显然只有两种情况:

  • n为奇数, n%2=1 。
  • n为偶数, n%2=0 。
  • 2n 可以拆成 n+n ,所以提取公因式,无论是奇是偶,都会有一个 n 是一定有的。
  • 区别在于,奇数的时候多了一个 n ,因为此时 n mod 2 = 1 ,刚好可以直接将取余的结果乘上 n ,这样奇数的时候就是 n+n ,偶数的时候就是 n+0 了。

复杂度

  • 时间复杂度: O(1) O(1) O(1)
  • 空间复杂度: O(1) O(1) O(1)

Code

int smallestEvenMultiple(int n) {
    // 1 2 3 4 5 6 7 8 9 10 11 12 13
    return (n % 2 + 1) * n;
}
posted @ 2026-05-16 00:47  syn_tax  阅读(4)  评论(0)    收藏  举报