>>107822859
Let's solve the 2-sum problem. Given an array `nums` find the indices of 2 numbers adding up to `target`.
In Python is:
def two_sum(nums, target):
seen = {}
for i, num in enumerate(nums):
if (need := target - num) in seen:
return [seen[need], i]
seen[num] = i
In Logo is:
to twosum :nums :target
make "i 0
make "seen []
while [:i < count :nums] [
make "num item (:i + 1) :nums
make "need :target - :num
if memberp :need :seen [
make "j position :need :seen
output (list (:j - 1) :i)
]
make "seen lput :num :seen
make "i :i + 1
]
end
Now maybe I'm used to Python, but looks simpler to me even though it uses more abstractions (enumerate, dict).