(2018.9.8 15:00--17:00)
(哇这题花了我40分钟(也没做出来)!直接害得我后面问答题来不及写!)
以下为题目的大概描述:
小易买了一块只有黑色(b)和白色(w)的橡皮泥(当作字符串)。因为小易喜欢斑马图案,所以他想得到橡皮泥的黑白相间(如wbwbw)的最大子串。然而小易有多动症(来自本人的抱怨),他可以对橡皮泥进行以下0次或多次操作:
·小易从橡皮泥的一处切开(即相当于分割字符串),然后将两侧橡皮泥同时翻转,连在一起。
(根据我的理解,就比如bwbbbww这个字符串,假如从第四个b后处切开,翻转的得到bbwbwwb)
问:小易操作后可以得到的最大黑白相间的子串的长度
样例输入1:bwbwb 输出结果:5
样例输入2:wwb 输出结果:3
这题我花了20分钟才明白这个切割可以相当于 把前一个子串接到后一个子串末
然而剩下20分钟还是不知道该怎么算…………(无力)
我最后用了个正则表达式,忽视了小易的多动症,只算一个字符串里黑白相间的子串的最大长度。最后样例通过70%。这显然是不对的(垂死挣扎)
该怎么做呢?记下来好好思考