diff options
| author | Mohammad Sajid Anwar <mohammad.anwar@yahoo.com> | 2024-09-02 13:06:44 +0100 |
|---|---|---|
| committer | Mohammad Sajid Anwar <mohammad.anwar@yahoo.com> | 2024-09-02 13:06:44 +0100 |
| commit | c6fc6dc80f436a7427e6e7d5572f8abfc0cb4318 (patch) | |
| tree | 4a30bf4e4a4ac9963a35645d5446fe05914ea83f /challenge-285/eric-cheung/python | |
| parent | 91304dfdc8fe93b9616a8c8292386c21260937a7 (diff) | |
| download | perlweeklychallenge-club-c6fc6dc80f436a7427e6e7d5572f8abfc0cb4318.tar.gz perlweeklychallenge-club-c6fc6dc80f436a7427e6e7d5572f8abfc0cb4318.tar.bz2 perlweeklychallenge-club-c6fc6dc80f436a7427e6e7d5572f8abfc0cb4318.zip | |
- Added solutions by PokGoPun.
- Added solutions by Peter Meszaros.
- Added solutions by Mark Anderson.
- Added solutions by Ali Moradi.
- Added solutions by Feng Chang.
- Added solutions by E. Choroba.
Diffstat (limited to 'challenge-285/eric-cheung/python')
| -rwxr-xr-x | challenge-285/eric-cheung/python/ch-1.py | 12 | ||||
| -rwxr-xr-x | challenge-285/eric-cheung/python/ch-2.py | 26 |
2 files changed, 38 insertions, 0 deletions
diff --git a/challenge-285/eric-cheung/python/ch-1.py b/challenge-285/eric-cheung/python/ch-1.py new file mode 100755 index 0000000000..adfc0fa624 --- /dev/null +++ b/challenge-285/eric-cheung/python/ch-1.py @@ -0,0 +1,12 @@ +
+## arrRoutes = [["B", "C"], ["D", "B"], ["C", "A"]] ## Example 1
+arrRoutes = [["A", "Z"]] ## Example 2
+
+arrDest = set([arrLoop[1] for arrLoop in arrRoutes])
+arrStart = set([arrLoop[0] for arrLoop in arrRoutes])
+arrOutput = [destLoop for destLoop in arrDest if destLoop not in arrStart]
+
+if len(arrOutput) == 1:
+ print (arrOutput[0])
+else:
+ print (arrOutput)
diff --git a/challenge-285/eric-cheung/python/ch-2.py b/challenge-285/eric-cheung/python/ch-2.py new file mode 100755 index 0000000000..633da1d0a5 --- /dev/null +++ b/challenge-285/eric-cheung/python/ch-2.py @@ -0,0 +1,26 @@ +
+## Ref.
+## https://www.geeksforgeeks.org/coin-change-dp-7/
+
+arrTypeCoin = ["HD", "Q", "D", "N", "P"]
+arrCentsVal = [50, 25, 10, 5, 1]
+
+## nAmount = 9 ## Example 1
+## nAmount = 15 ## Example 2
+nAmount = 100 ## Example 3
+
+def GetCount(arrCoins, nCount, nSum):
+
+ if (nSum < 0 or nCount <= 0):
+ return 0
+
+ if (nSum == 0):
+ return 1
+
+ ## GetCount is nSum of solutions
+ ## (i) Excluding arrCoins[nCount - 1], Target Sum: nSum
+ ## (ii) Including arrCoins[nCount - 1], Target Sum: nSum - arrCoins[nCount - 1]
+ return GetCount(arrCoins, nCount - 1, nSum) + GetCount(arrCoins, nCount, nSum - arrCoins[nCount - 1])
+
+## Main Program
+print (GetCount(arrCentsVal, len(arrCentsVal), nAmount))
|
