From 93994bf5fe548ad7d65cb7571d369151b99ec5a5 Mon Sep 17 00:00:00 2001 From: Vagisha Gupta <68467817+VagishaGupta9@users.noreply.github.com> Date: Sun, 24 Apr 2022 15:40:01 +0530 Subject: [PATCH 1/3] Create Solution1.cpp --- Solutions/Solution1.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Solutions/Solution1.cpp diff --git a/Solutions/Solution1.cpp b/Solutions/Solution1.cpp new file mode 100644 index 0000000..e32a06f --- /dev/null +++ b/Solutions/Solution1.cpp @@ -0,0 +1,19 @@ +class Solution { +public: + bool divisorGame(int N) { + int count = 0; + bool valid = true; + while(valid) { + valid = false; + for(int x = 1; x < N; x++) { + if(N % x == 0) { + N = N - x; + count++; + valid = true; + break; + } + } + } + return (count % 2 == 1); + } +}; From 578f4a1d4ceaa10bc7ec8903729a2c1db06a9214 Mon Sep 17 00:00:00 2001 From: Vagisha Gupta <68467817+VagishaGupta9@users.noreply.github.com> Date: Sun, 24 Apr 2022 15:43:17 +0530 Subject: [PATCH 2/3] Create Solution2.py --- Solutions/Solution2.py | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 Solutions/Solution2.py diff --git a/Solutions/Solution2.py b/Solutions/Solution2.py new file mode 100644 index 0000000..f4e85f0 --- /dev/null +++ b/Solutions/Solution2.py @@ -0,0 +1,11 @@ +class Solution: + def countVowelStrings(self, n: int) -> int: + if n == 0: + return 0 + counts = [1] * 5 + while n > 1: + n -= 1 + for i in range(1, len(counts)): + counts[i] += counts[i - 1] + + return sum(counts) From b31a6e3693ee223fd1107395622af49d3899633a Mon Sep 17 00:00:00 2001 From: Vagisha Gupta <68467817+VagishaGupta9@users.noreply.github.com> Date: Sun, 24 Apr 2022 15:45:00 +0530 Subject: [PATCH 3/3] Create Solution3.cpp --- Solutions/Solution3.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 Solutions/Solution3.cpp diff --git a/Solutions/Solution3.cpp b/Solutions/Solution3.cpp new file mode 100644 index 0000000..3b8945c --- /dev/null +++ b/Solutions/Solution3.cpp @@ -0,0 +1,15 @@ +class Solution { +public: + int maxSumAfterPartitioning(vector& arr, int k) { + int n = arr.size(); + vector dp(n + 1); + for (int i = 1; i <= n; ++i) { + int curMax = 0; + for (int j = 1; j <= k && i - j >= 0; ++j) { + curMax = max(curMax, arr[i - j]); + dp[i] = max(dp[i], dp[i - j] + curMax * j); + } + } + return dp[n]; + } +};