【发布时间】:2021-07-01 22:12:54
【问题描述】:
Conor Hoekstra 最近解决了 APL 中的一个 Leetcode 问题https://youtu.be/QtvvQ7MdwKY 问题是从字符串y 中取出第一个x 单词
在 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' 有一个相当默契的解决方案吗?
【问题讨论】:
标签: j pointfree tacit-programming