在Python中查找合并后剩余最小数量的颜色的程序
假设我们有一组颜色(R,G,B)。现在,如果相邻有两种不同的颜色,则可以转换为第三种颜色的单个颜色项。我们必须找到任何可能的这种转换序列后剩余的最小数量。
因此,如果输入为colors = [“G”,”R”,”G”,”B”,”R”],则输出将为1,因为它可以转换为-如下所示
为了解决这个问题,我们将遵循以下步骤 –
- n:颜色的大小
- 如果颜色只有一种不同的颜色,那么
- 返回n
- 如果n≤1,则
- 返回n
- x:= 0
- d:=具有键值对{(“R”,1),(“G”,2),(“B”,3)}的映射
- 对于颜色中的每个c,执行以下操作
- x:= x XOR d[c]
- 如果x与0相同,则返回2,否则返回1
示例(Python)
让我们看一下以下实现,以获得更好的理解 –