LC.P672[灯泡开关II]

方法一:找规律

1
2
3
4
5
6
7
8
9
10
11
12
class Solution {
public int flipLights(int n, int presses) {
// 不按开关
if (presses == 0) return 1;
// 1个灯泡
if (n == 1) return 2;
// 2个灯泡
else if (n == 2) return presses == 1 ? 3 : 4;
// n >= 3
else return presses == 1 ? 4 : presses == 2 ? 7 : 8;
}
}
  • 时间复杂度:$O(1)$
  • 空间复杂度:$O(1)$