Regex Golf通关记录(7)——等式篇下

Regex Golf网址:https://alf.nu/RegexGolf

Regex Golf通关解答:Regex Golf通关解答-优快云博客

Sum

这道题我的思路依然是利用零宽断言去排除那些不可能发生的情况。我主要依据有两个:(1)x0 + y0 = z0,由于不存在进位,所以z的值是可以由x和y确定的,即x != y时,z = 1,x = y时z = 2;(2)不会出现10 + 11 = 11,10 + 11 = 00, 00 + 01 = 11, 00 + 01 = 00 这四种情况。接下来就是在用例允许的范围内做减法了,我的整个解答优化过程如下:

^(?!\d*00.{17}(.)0.{17}(?!\1))(?!\d*10.{17}(.)0.{17}\2)(?!\d*00.{17}0.{18}11)(?!.*(.)(.).{17}\3(?!\4)..{17}00)

^(?!.*(\d)[0 ].{17}\1[0 ].{17}1)(?!.*(\d)[0 ].{17}(?!\2).[0 ].{17}0)(?!.*(.)(.).{17}\3(?!\4)..{17}(00|11))

^(?!.*(.)[0 ].{17}\1[0 ].{17}1)(?!.*(.)[0 ].{17}(?!\2).[0 ].{17}0)(?!.*(.)(.).{17}\3(?!\4)..{17}(00|11))

^(?!.*(.)[0 ].{17}\1[0 ].{17}1)(?!.*(.)(.).{17}\2(?!\3)..{17}(00|11))

^(?!.*(.)[0 ].{17}\1[0 ].{17}1)(?!.*(.)(.).{17}\2(?!\3)..{17}(.)\4)

^(?!.*(.0).{17}\1.{17}1)(?!.*(.)(.).{17}\2(?!\3)..{17}(.)\4)

^(?!.*(.0).{17}\1.{17}1)(?!.*(.)(.).{17}\2(?!\3).{18}(.)\4)

最后的答案共59个字符,距离最少字符52还是有些差距。

排行榜的评论区里,有老哥提到了“robust solution”,应该是指能正确匹配所有16位二进制加法等式的答案,我暂时还没有思路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值