Two sum: Difference between revisions
Content added Content deleted
(Added Quackery.) |
|||
Line 1,192: | Line 1,192: | ||
list[twoSum(21, list)[0][0]] ==> 2 |
list[twoSum(21, list)[0][0]] ==> 2 |
||
list[twoSum(21, list)[0][1]] ==> 19</pre> |
list[twoSum(21, list)[0][1]] ==> 19</pre> |
||
=={{header|jq}}== |
|||
{{works with|jq}} |
|||
'''Works with gojq, the Go implementation of jq. |
|||
{{trans|Julia}} |
|||
<lang jq>def twosum($s): |
|||
. as $v |
|||
| {i: 0, j: ($v|length - 1) } |
|||
| until( .i >= .j or $v[.i] + $v[.j] == $s; |
|||
if $v[.i] + $v[.j] < $s then .i += 1 |
|||
else .j -= 1 |
|||
end) |
|||
| if .i >= .j then null else . end ; |
|||
[0, 2, 11, 19, 90] |
|||
| (twosum(21), twosum(25)) |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
{"i":1,"j":3} |
|||
null |
|||
</pre> |
|||
=={{header|Julia}}== |
=={{header|Julia}}== |