diff options
| author | Mohammad Sajid Anwar <mohammad.anwar@yahoo.com> | 2025-08-12 13:31:48 +0100 |
|---|---|---|
| committer | Mohammad Sajid Anwar <mohammad.anwar@yahoo.com> | 2025-08-12 13:31:48 +0100 |
| commit | 3f0c25ac7a8089ff3d921c6e4926ff88ebd806cd (patch) | |
| tree | d724fd4de00416e89a12e04e691201c6b8c30a32 /challenge-334/eric-cheung/python | |
| parent | 5ab49b30e61c47686b522263e7336766c9f5236a (diff) | |
| download | perlweeklychallenge-club-3f0c25ac7a8089ff3d921c6e4926ff88ebd806cd.tar.gz perlweeklychallenge-club-3f0c25ac7a8089ff3d921c6e4926ff88ebd806cd.tar.bz2 perlweeklychallenge-club-3f0c25ac7a8089ff3d921c6e4926ff88ebd806cd.zip | |
- Added solutions by Andrew Shitov.
- Added solutions by Simon Proctor.
- Added solutions by Eric Cheung.
- Added solutions by Feng Chang.
- Added solutions by Mark Anderson.
- Added solutions by PokGoPun.
- Added solutions by David Ferrone.
- Added solutions by Peter Campbell Smith.
- Added solutions by Conor Hoekstra.
- Added solutions by Peter Meszaros.
- Added solutions by Ali Moradi.
- Added solutions by W. Luis Mochan.
- Added solutions by Roger Bell_West.
Diffstat (limited to 'challenge-334/eric-cheung/python')
| -rwxr-xr-x | challenge-334/eric-cheung/python/ch-1.py | 27 | ||||
| -rwxr-xr-x | challenge-334/eric-cheung/python/ch-2.py | 38 |
2 files changed, 65 insertions, 0 deletions
diff --git a/challenge-334/eric-cheung/python/ch-1.py b/challenge-334/eric-cheung/python/ch-1.py new file mode 100755 index 0000000000..8f721b34a1 --- /dev/null +++ b/challenge-334/eric-cheung/python/ch-1.py @@ -0,0 +1,27 @@ +
+## Example 1
+## arrInts = [-2, 0, 3, -5, 2, -1]
+## nX = 0
+## nY = 2
+
+## Example 2
+## arrInts = [1, -2, 3, -4, 5]
+## nX = 1
+## nY = 3
+
+## Example 3
+## arrInts = [1, 0, 2, -1, 3]
+## nX = 3
+## nY = 4
+
+## Example 4
+## arrInts = [-5, 4, -3, 2, -1, 0]
+## nX = 0
+## nY = 3
+
+## Example 5
+arrInts = [-1, 0, 2, -3, -2, 1]
+nX = 0
+nY = 2
+
+print (sum(arrInts[nX:nY + 1]))
diff --git a/challenge-334/eric-cheung/python/ch-2.py b/challenge-334/eric-cheung/python/ch-2.py new file mode 100755 index 0000000000..4f61f989ba --- /dev/null +++ b/challenge-334/eric-cheung/python/ch-2.py @@ -0,0 +1,38 @@ +
+import numpy as np
+
+def GetManDist(arrValidInputPnt, arrCurPnt):
+ return abs(arrValidInputPnt[0] - arrCurPnt[0]) + abs(arrValidInputPnt[1] - arrCurPnt[1])
+
+## Example 1
+## nX = 3
+## nY = 4
+## arrPnts = [[1, 2], [3, 1], [2, 4], [2, 3]]
+
+## Example 2
+## nX = 2
+## nY = 5
+## arrPnts = [[3, 4], [2, 3], [1, 5], [2, 5]]
+
+## Example 3
+## nX = 1
+## nY = 1
+## arrPnts = [[2, 2], [3, 3], [4, 4]]
+
+## Example 4
+## nX = 0
+## nY = 0
+## arrPnts = [[0, 1], [1, 0], [0, 2], [2, 0]]
+
+## Example 5
+nX = 5
+nY = 5
+arrPnts = [[5, 6], [6, 5], [5, 4], [4, 5]]
+
+objValidPnts = {nIndx : arrPntLoop for nIndx, arrPntLoop in enumerate(arrPnts) if arrPntLoop[0] == nX or arrPntLoop[1] == nY}
+
+if len(objValidPnts) > 0:
+ nMinIndx = np.argmin([GetManDist(objValidPnts[nIndxKey], [nX, nY]) for nIndxKey in objValidPnts])
+ print ([nIndxKey for nIndx, nIndxKey in enumerate(objValidPnts) if nIndx == nMinIndx][0])
+else:
+ print (-1)
|
