2019网易校招笔试算法编程题——小易橡皮泥

(2018.9.8 15:00--17:00)

(哇这题花了我40分钟(也没做出来)!直接害得我后面问答题来不及写!)

以下为题目的大概描述:

小易买了一块只有黑色(b)和白色(w)的橡皮泥(当作字符串)。因为小易喜欢斑马图案,所以他想得到橡皮泥的黑白相间(如wbwbw)的最大子串。然而小易有多动症(来自本人的抱怨),他可以对橡皮泥进行以下0次或多次操作:

·小易从橡皮泥的一处切开(即相当于分割字符串),然后将两侧橡皮泥同时翻转,连在一起。

(根据我的理解,就比如bwbbbww这个字符串,假如从第四个b后处切开,翻转的得到bbwbwwb)

问:小易操作后可以得到的最大黑白相间的子串的长度

样例输入1:bwbwb     输出结果:5

样例输入2:wwb          输出结果:3

 

这题我花了20分钟才明白这个切割可以相当于 把前一个子串接到后一个子串末 

然而剩下20分钟还是不知道该怎么算…………(无力)

我最后用了个正则表达式,忽视了小易的多动症,只算一个字符串里黑白相间的子串的最大长度。最后样例通过70%。这显然是不对的(垂死挣扎)

该怎么做呢?记下来好好思考

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值