Bir tamsayı dizisi verildiğinde, iki sayının dizinini belirli bir hedefe eklenecek şekilde döndürür.
Her girişin tek bir çözüme sahip olacağını varsayabilir ve aynı öğeyi iki kez kullanmayabilirsiniz.
Örnek: Verilen numaralar = [2, 7, 11, 15], hedef = 9,
Çünkü nums [0] + num [1] = 2 + 7 = 9, [0, 1] döndür.
Bunu bash olarak denemekle birlikte, benimki sözdizimi hatalarıyla başarısız oluyor, lütfen mantığın doğru olup olmadığını ve sözdizimi hataları varsa lütfen bana bildirin:
#!/bin/bash
# Given an array of integers, return indices of the two numbers such
# that they add up to a specific target.
read T
nums=("2" "7" "11" "15")
for i in ${nums[@]}
do
for j in ${nums[@]}
do
if [ "$i" + "$j" == $T ]
echo "i=$i"
echo "j=$j"
break
fi
done
done