【算法】大厂笔试题jd
作者:互联网
小红与粉刷匠
题目描述
小红遇到了一名粉刷匠。这名粉刷匠有三种颜料,分别是红、黄、蓝。为了方便,这三种颜料分别命名为A、B、C。
现在,粉刷匠正在粉刷一面长度为3n的墙壁。粉刷完毕之后,三种颜料的数目都相同。由于小红不小心踢倒了颜料桶,使得这面墙的每一个地方都染上了三种颜料中的其中一种,这很让粉刷匠头疼。
粉刷匠每次可以选择一段连续的墙壁进行粉刷,即全部粉刷上同一种颜色(A、B、C三种中的其中一种)。粉刷匠想知道,他最少需要多少次粉刷才能使得三种颜料的数目都相同?
输入样例
输入:
3 # 表示有几组数据
2 # 墙壁长度为3n,在这里则是 3 * 2 = 6
ABACBC
3
AAABBBBAC
3
CAACBCBCC
输出:
0
1
2
提示
对于第一组样例,A、B、C的数目都是2,故无需进行粉刷
对于第二组样例,选择区间[7,9]全部粉刷为C,之后形成的墙壁为 AAABBBCCC
对于第三组样例,先选择区间[4,4]粉刷为B之后形成的墙壁为CAABBCBCC,在选择区间[9,9]全部粉刷为A之后形成的墙壁为CAABBCBCA,此刻每种颜色都有3个。
标签:墙壁,笔试,样例,小红,粉刷,颜料,三种,大厂,jd 来源: https://www.cnblogs.com/selwynli/p/16094559.html