Conor Hoekstra 最近解决了 APL 中的一个 Leetcode 问题https://youtu.be/QtvvQ7MdwKYx
问题是从一个字符串中取出第一个单词y
在 J 中,使用&.
(Under) 和;:
(Words) 我可以想出一个很好的明确的单线
solve =. 4 : 'x&{.&.;: y' NB. Box words in y -> take first x-> unbox words in result while retaining spaces between
s=. 'Hello how are you Contestant'
4 solve s
Hello how are you
我遇到的麻烦是找到仍然包含的默认版本&.
,主要是因为我认为在动词的创建过程中x
需要绑定。{.
这也是一个魔术13 :
转换没有帮助的例子
13 : 'x&{.&.;: y'
4 : 'x&{.&.;: y'
;:^:_1
我可以通过使用创建逆来默认解决它;:
solve2=. (;:^:_1)@:({. ;:)
4 solve2 s
Hello how are you
但这并不像默认版本的那么漂亮4 : 'x&{.&.;: y'
。
任何人都有一个非常默认的解决方案4 : 'x&{.&.;: y'
?