diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-08-11 20:23:28 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-11 20:23:28 +0100 |
| commit | ca43541e7e6fc67e031f9ca1cf50e8b4fb75c568 (patch) | |
| tree | e3daf4056d3364bb54b69fe053f88d7a0c393c85 /challenge-125/roger-bell-west/python/ch-2.py | |
| parent | 3160ed2946bd278c732873146f892ab4f80f8317 (diff) | |
| parent | da9333b5b848624319742346d77d09cf35ec3e6a (diff) | |
| download | perlweeklychallenge-club-ca43541e7e6fc67e031f9ca1cf50e8b4fb75c568.tar.gz perlweeklychallenge-club-ca43541e7e6fc67e031f9ca1cf50e8b4fb75c568.tar.bz2 perlweeklychallenge-club-ca43541e7e6fc67e031f9ca1cf50e8b4fb75c568.zip | |
Merge pull request #4687 from Firedrake/rogerbw-challenge-125
Solutions for challenge #125
Diffstat (limited to 'challenge-125/roger-bell-west/python/ch-2.py')
| -rwxr-xr-x | challenge-125/roger-bell-west/python/ch-2.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/challenge-125/roger-bell-west/python/ch-2.py b/challenge-125/roger-bell-west/python/ch-2.py new file mode 100755 index 0000000000..b03a09c4e0 --- /dev/null +++ b/challenge-125/roger-bell-west/python/ch-2.py @@ -0,0 +1,36 @@ +#! /usr/bin/python3 + +import unittest + +from math import degrees,atan2 + +def btd(tree): + st=len(tree) + depth=[0]*st + diameter=[0]*st + for i in range(st-1,-1,-1): + if tree[i] != 0: + a=i*2+1 + b=a+1 + if b < st: + depth[i]=1+max(depth[a],depth[b]) + diameter[i]=max( + 1+depth[a]+depth[b], + diameter[a], + diameter[b] + ) + else: + depth[i]=1 + diameter[i]=1 + return diameter[0] + +class TestBtd(unittest.TestCase): + + def test_ex1(self): + self.assertEqual(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') + +unittest.main() |
