LeetCode题解957. N 天后的牢房

8 间牢房排成一排,每间牢房不是有人住就是空着。

每天,无论牢房是被占用或空置,都会根据以下规则进行更改:

如果一间牢房的两个相邻的房间都被占用或都是空的,那么该牢房就会被占用。

否则,它就会被空置。

(请注意,由于监狱中的牢房排成一行,所以行中的第一个和最后一个房间无法有两个相邻的房间。)

我们用以下方式描述监狱的当前状态:如果第 i 间牢房被占用,则 cell[i]==1,否则 cell[i]==0。

根据监狱的初始状态,在 N 天后返回监狱的状况(和上述 N 种变化)。

 

示例 1:

输入:cells = [0,1,0,1,1,0,0,1], N = 7

输出:[0,0,1,1,0,0,0,0]

解释:

下表概述了监狱每天的状况:

Day 0: [0, 1, 0, 1, 1, 0, 0, 1]

Day 1: [0, 1, 1, 0, 0, 0, 0, 0]

Day 2: [0, 0, 0, 0, 1, 1, 1, 0]

Day 3: [0, 1, 1, 0, 0, 1, 0, 0]

Day 4: [0, 0, 0, 0, 0, 1, 0, 0]

Day 5: [0, 1, 1, 1, 0, 1, 0, 0]

Day 6: [0, 0, 1, 0, 1, 1, 0, 0]

Day 7: [0, 0, 1, 1, 0, 0, 0, 0]

示例 2:

输入:cells = [1,0,0,1,0,0,1,0], N = 1000000000

输出:[0,0,1,1,1,1,1,0]

 

提示:

cells.length == 8

cells[i] 的值为 0 或 1 

1 <= N <= 10^9

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/prison-cells-after-n-days

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

可以在没有操作系统的情况下运行Java程序吗? - java

我知道所有Java程序都由JVM执行。这使Java与所有操作系统兼容(一次编写,可在任何地方运行)。但是我可以在没有操作系统的情况下运行Java程序吗?也许只运行JVM?并且,如果可能,功能是否会受到任何影响?注意:我的主要问题是,java程序可以直接在硬件上运行(通过JVM)吗?我可以在计算机中“启动”任何低级别的JVM吗? java大神给出的解决方案 实…

查看抽象类的方法是否未被扩展类之一覆盖的方法 - java

我有一个抽象类,比如AbstractClass和扩展该抽象类的多个其他类(700多个)。 AbstractClass有一个方法,比方说baseMethod(),它不是抽象方法。许多类(500+)覆盖该方法并具有自己的实现。现在,通过eclipse,我可以很容易地看到通过Ctrl+Shift+G覆盖该方法的方法,但是除了手动以外,还有其他方法可以看到不覆盖该方…

USB设备发行 - python

我目前正在使用PyUSB。由于我不熟悉USB,所以我不知道如何执行以下操作。我已经从Python PyUSB成功连接到我的USB设备硬件。在代码中,我需要重置USB设备硬件。通过向硬件发送命令来完成。现在,在硬件重置后,我想从Python PyUSB释放当前的USB设备。然后,我想在重置后将其重新连接到USB设备硬件。请让我知道,如何释放USB设备连接和接口…

使用Java检测用户计算机上是否安装了某些软件 - java

我有一个Java应用程序,它需要某些软件(其中一个是Perl)才能运行。我用来检测Perl的方法是:Runtime.getRuntime().exec("perl Test.pl"); 如果存在IOException,则声明不存在Perl。但是,我的一位用户抱怨该应用程序不断失败,因为他没有将Perl放在其路径变量中。所以这就是为什么我要…

如何修改休眠的SQL查询? - java

我有点好奇,有没有办法修改hibernate的核心,以便我可以自定义生成的SQL query。例如,在生成的查询中添加功能以使用connect by prior(oracle)或我要自定义的任何其他子句。 java大神给出的解决方案 起初,这样的问题总是在我心中敲响警钟。你被警告了...AFAIK,hibernate使用所谓的dialects进行特定的优化。…