LeetCode 672 灯泡开关II[找规律 数学] HERODING的LeetCode之路

在这里插入图片描述
解题思路:
一道不难的找规律题目,首先从灯泡数量角度考虑,当灯泡为1时,四种操作下最多只有两种变换,2时,最多只有4种变换,2以上时,最多只有8种变换(这个规律需要进行仿真,所有偶数次的操作都会抵消,那么就考虑每种操作0,1的组合,最后可以得到规律),由于2以上又要多次受到press次数的影响,所以这里也要多讨论几次,代码如下:

class Solution {
public:
    int flipLights(int n, int presses) {
        if(presses == 0) return 1;
        if(n == 1) return 2;
        if(n == 2) return (presses == 1) ? 3 : 4;
        return (presses > 2) ? 8 : (presses == 1) ? 4 : 7;
    }
};

版权声明:本文为HERODING23原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。