my ($i) = map { $_->[0] } sort { $b->[1] <=> $a->[1] } map { [ $_ , $arr[$_] ] } 0..$#arr-1;
I don't understand the 0..$#arr-1 expression in the quoted statement. Did you mean 0..$#arr or 0..@arr-1 instead?
(I'll pass over the propriety of using an O(n log n) sort operation for what is essentially an O(n) task :)c:\@Work\Perl\monks>perl -wMstrict -le "my @arr = (1,2,3,5,10,3,4,300,1,2,-2); my ($i) = map { $_->[0] } sort { $b->[1] <=> $a->[1] } map { [ $_ , $ +arr[$_] ] } 0..$#arr-1; print qq{i of largest == $i (\@arr[$i] == $arr[$i])}; " i of largest == 7 (@arr[7] == 300) c:\@Work\Perl\monks>perl -wMstrict -le "my @arr = (1,2,3,5,10,3,4,300,1,2,-2, 999); my ($i) = map { $_->[0] } sort { $b->[1] <=> $a->[1] } map { [ $_ , $ +arr[$_] ] } 0..$#arr-1; print qq{i of largest == $i (\@arr[$i] == $arr[$i])}; " i of largest == 7 (@arr[7] == 300)
Give a man a fish: <%-{-{-{-<
In reply to Re^2: Why does my get_max_index function return zero? (High Water Mark Algorithm)
by AnomalousMonk
in thread Why does my get_max_index function return zero? (High Water Mark Algorithm)
by hghosh
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |