diff options
| -rwxr-xr-x | challenge-125/roger-bell-west/perl/ch-2.pl | 5 | ||||
| -rw-r--r-- | challenge-125/roger-bell-west/postscript/ch-2.ps | 3 | ||||
| -rwxr-xr-x | challenge-125/roger-bell-west/python/ch-2.py | 7 | ||||
| -rwxr-xr-x | challenge-125/roger-bell-west/raku/ch-2.p6 | 5 | ||||
| -rwxr-xr-x | challenge-125/roger-bell-west/ruby/ch-2.rb | 7 | ||||
| -rwxr-xr-x | challenge-125/roger-bell-west/rust/ch-2.rs | 5 |
6 files changed, 13 insertions, 19 deletions
diff --git a/challenge-125/roger-bell-west/perl/ch-2.pl b/challenge-125/roger-bell-west/perl/ch-2.pl index 684604b182..0b7be33985 100755 --- a/challenge-125/roger-bell-west/perl/ch-2.pl +++ b/challenge-125/roger-bell-west/perl/ch-2.pl @@ -9,7 +9,7 @@ is(btd([1, 2,5, 3,4,6,7, 0,0,0,0,0,0,8,10, - 0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0]),7,'example 1'); + 0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0]),6,'example 1'); sub btd { my $tree=shift; @@ -22,12 +22,11 @@ sub btd { my $b=$a+1; if ($b < $st) { $depth[$i]=1+max($depth[$a],$depth[$b]); - $diameter[$i]=max(1+$depth[$a]+$depth[$b], + $diameter[$i]=max($depth[$a]+$depth[$b], $diameter[$a], $diameter[$b]); } else { $depth[$i]=1; - $diameter[$i]=1; } } } diff --git a/challenge-125/roger-bell-west/postscript/ch-2.ps b/challenge-125/roger-bell-west/postscript/ch-2.ps index 175b9e02ef..802e5c9dba 100644 --- a/challenge-125/roger-bell-west/postscript/ch-2.ps +++ b/challenge-125/roger-bell-west/postscript/ch-2.ps @@ -27,13 +27,12 @@ b st lt { depth i depth a get depth b get max2 1 add put diameter i - depth a get depth b get 1 add add + depth a get depth b get add diameter a get diameter b get max2 max2 put } { depth i 1 put - diameter i 1 put } ifelse } if } for diff --git a/challenge-125/roger-bell-west/python/ch-2.py b/challenge-125/roger-bell-west/python/ch-2.py index b03a09c4e0..845a1fd35f 100755 --- a/challenge-125/roger-bell-west/python/ch-2.py +++ b/challenge-125/roger-bell-west/python/ch-2.py @@ -15,13 +15,12 @@ def btd(tree): if b < st: depth[i]=1+max(depth[a],depth[b]) diameter[i]=max( - 1+depth[a]+depth[b], + depth[a]+depth[b], diameter[a], diameter[b] ) else: depth[i]=1 - diameter[i]=1 return diameter[0] class TestBtd(unittest.TestCase): @@ -31,6 +30,6 @@ class TestBtd(unittest.TestCase): 2,5, 3,4,6,7, 0,0,0,0,0,0,8,10, - 0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0]),7,'example 1') - + 0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0]),6,'example 1') + unittest.main() diff --git a/challenge-125/roger-bell-west/raku/ch-2.p6 b/challenge-125/roger-bell-west/raku/ch-2.p6 index 0014033351..ee5673dbc8 100755 --- a/challenge-125/roger-bell-west/raku/ch-2.p6 +++ b/challenge-125/roger-bell-west/raku/ch-2.p6 @@ -8,7 +8,7 @@ is(btd([1, 2,5, 3,4,6,7, 0,0,0,0,0,0,8,10, - 0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0]),7,'example 1'); + 0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0]),6,'example 1'); sub btd(@tree) { my $st=@tree.elems; @@ -20,12 +20,11 @@ sub btd(@tree) { my $b=$a+1; if ($b < $st) { @depth[$i]=1+max(@depth[$a],@depth[$b]); - @diameter[$i]=max(1+@depth[$a]+@depth[$b], + @diameter[$i]=max(@depth[$a]+@depth[$b], @diameter[$a], @diameter[$b]); } else { @depth[$i]=1; - @diameter[$i]=1; } } } diff --git a/challenge-125/roger-bell-west/ruby/ch-2.rb b/challenge-125/roger-bell-west/ruby/ch-2.rb index 36bd3ce90c..64cfecf99c 100755 --- a/challenge-125/roger-bell-west/ruby/ch-2.rb +++ b/challenge-125/roger-bell-west/ruby/ch-2.rb @@ -11,13 +11,12 @@ def btd(tree) if b < st then depth[i]=1+[depth[a],depth[b]].max diameter[i]=[ - 1+depth[a]+depth[b], + depth[a]+depth[b], diameter[a], diameter[b], ].max else depth[i]=1 - diameter[i]=1 end end end @@ -29,12 +28,12 @@ require 'test/unit' class TestBtd < Test::Unit::TestCase def test_ex1 - assert_equal(7,btd([1, + assert_equal(6,btd([1, 2,5, 3,4,6,7, 0,0,0,0,0,0,8,10, 0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0 ])) end - + end diff --git a/challenge-125/roger-bell-west/rust/ch-2.rs b/challenge-125/roger-bell-west/rust/ch-2.rs index ddd67a4a27..b03513c684 100755 --- a/challenge-125/roger-bell-west/rust/ch-2.rs +++ b/challenge-125/roger-bell-west/rust/ch-2.rs @@ -8,7 +8,7 @@ fn test_ex1() { 3,4,6,7, 0,0,0,0,0,0,8,10, 0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0 - ]),7); + ]),6); } fn btd(tree: Vec<u64>) -> u64 { @@ -22,13 +22,12 @@ fn btd(tree: Vec<u64>) -> u64 { if b < st { depth[i]=1+[depth[a],depth[b]].iter().max().unwrap(); diameter[i]=*[ - 1+depth[a]+depth[b], + depth[a]+depth[b], diameter[a], diameter[b] ].iter().max().unwrap(); } else { depth[i]=1; - diameter[i]=1; } } } |
