J'ai un tableau comme celui-cideux tableau multidimensionnel de manutention en rubis
[["1"], ["2","3"]]
Au début, j'avais cet algorithme
maxarray = []
i = 0
m = array.count
while i < m do
x = 0
s = array[i].count
while x < s do
maxarray[i][x] = (Integer(array[i][x]) + [Integer(maxarray[i-1][x-1]), Integer(maxarray[i-1][x])].max)
x+=1
end
i+=1
end
l'erreur était la suivante:
`<main>': undefined method `[]' for nil:NilClass (NoMethodError)
donc je pensais que peut-être les index de tableau se trompe donc j'ai étendu mon algorithme
maxarray = []
i = 0
m = array.count
while i < m do
x = 0
s = array[i].count
while x < s do
if i-1 < 0
item2 = 0
elsif i-1 < 0 && x-1 < 0
item1 = 0
else item1 = maxarray[i-1][x-1]
item2 = maxarray[i-1][x]
end
maxarray[i][x] = (Integer(array[i][x]) + [Integer(item1), Integer(item2)].max)
x+=1
end
i+=1
end
mais maintenant j'ai une autre erreur:
`Integer': can't convert nil into Integer (TypeError)
comment peut éviter cette erreur et exécutez le script?
| (do_something) end' Vous n'utilisez pas les pouvoirs de Ruby ici :) – SirLenz0rlot
Peut-être que vous pourriez expliquer ce que vous essayez de faire plutôt que de donner votre solution actuelle ... –
@Chris McCauley c'est juste au milieu 'maxarray = (Integer (tableau [i] [x]) + [Entier (item1), Entier (item2)]. max) ':) – Mikee