k天后的活动细胞和非活动细胞是什么?

k天后的活动细胞和非活动细胞是什么?

在这里我们会看到一个有趣的问题。假设给定一个大小为 n 的二进制数组。这里n > 3。true值或1值表示活动状态,0或false表示不活动状态。还给出了另一个数字k。我们必须在 k 天后找到活跃或不活跃的细胞。每次之后如果左右单元格不相同,则第 i 个单元格的白天状态为活动状态,如果相同,则为非活动状态。最左边和最右边的单元格前后没有单元格。因此,最左边和最右边的单元格始终为 0。

让我们看一个示例来了解这一想法。假设一个数组类似于 {0, 1, 0, 1, 0, 1, 0, 1},k 的值 = 3。让我们看看它每天是如何变化的。

1 天后,数组将是 {1, 0, 0, 0, 0, 0, 0, 0}2 天后,数组将是 {0, 1, 0, 0, 0, 0, 0, 0}3 天后,数组将是 {1, 0, 1, 0, 0, 0, 0, 0}

所以 2 个活动单元格和 6 个非活动单元格

算法

activeCellKdays(arr, n, k)

begin   make a copy of arr into temp   for i in range 1 to k, do      temp[0] := 0 XOR arr[1]      temp[n-1] := 0 XOR arr[n-2]      for each cell i from 1 to n-2, do         temp[i] := arr[i-1] XOR arr[i+1]      done      copy temp to arr for next iteration   done   count number of 1s as active, and number of 0s as inactive, then return the values.end

登录后复制

示例

#include using namespace std;void activeCellKdays(bool arr[], int n, int k) {   bool temp[n]; //temp is holding the copy of the arr   for (int i=0; i

登录后复制

以上就是k天后的活动细胞非活动细胞是什么?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2588023.html

(0)
上一篇 2025年3月6日 15:46:08
下一篇 2025年2月19日 09:50:31

AD推荐 黄金广告位招租... 更多推荐

发表回复

登录后才能评论