aboutsummaryrefslogtreecommitdiff
path: root/other/max_score_mult_opp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'other/max_score_mult_opp.cpp')
-rw-r--r--other/max_score_mult_opp.cpp31
1 files changed, 0 insertions, 31 deletions
diff --git a/other/max_score_mult_opp.cpp b/other/max_score_mult_opp.cpp
deleted file mode 100644
index 7758a29..0000000
--- a/other/max_score_mult_opp.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "leetcode.h"
-
-class Solution {
-public:
- int maximumScore(vector<int> &nums, vector<int> &multipliers) {
- n = nums.size();
- m = multipliers.size();
- memset(memo, -1, sizeof(memo));
- return dp(0, 0, nums, multipliers);
- }
-
-private:
- int m, n, memo[1000][1000];
- int dp(int l, int i, vector<int> &nums, vector<int> &multipliers) {
- if (i == m)
- return 0;
- if (memo[l][i] != -1)
- return memo[l][i];
- int pickLeft =
- dp(l + 1, i + 1, nums, multipliers) + nums[l] * multipliers[i];
- int pickRight = dp(l, i + 1, nums, multipliers) +
- nums[n - (i - l) - 1] * multipliers[i];
- return memo[l][i] = max(pickLeft, pickRight);
- }
-};
-
-int main() {
- Solution obj;
- vector<int> nums = {1, 2, 3}, multipliers = {3, 2, 1};
- cout << obj.maximumScore(nums, multipliers);
-}