Question: Please do this in Java Dynamic programming(DP) is an algorithmic technique used to break a problem into many simpler subproblems. It is also an optimization
Please do this in Java



Dynamic programming(DP) is an algorithmic technique used to break a problem into many simpler subproblems. It is also an optimization technique to solve recursive problems by reducing the runtime complexity from exponential to linear. Fibonacci and Factorials are the basic and common DP problem, which can be solved either iteratively or recursively This lab is to demonstrate your mastery of dynamic programming and recursion Scenario: Suppose there are n tasks assigned to you daily: you need to distribute them to the team either by 1 task or 2 tasks at a time. How many distinct ways you can arrange to distribute all tasks? Requirements: - You have to solve this problem in two ways: Recursive and Iterative(Dynamic Programming - by creating a DP table) Constraints - The number of task is: Examples Input: n=1 Output: 1 Explanation: Since there's only one task, you just need distribute it once. Input: n=2 Output: 2 Explanation: - you can distribute: 1 + 1 task - or 2 tasks Input: n=3 Output: 3 Explanation: - you can distribute: 1+1+1 task - or 1+2 tasks - or 2+1 task Requirements - You must submit a single Java file containing the class named Lab1. Your class must contain the function named "taskManagerRecursive" and "taskManagerlterative" with the following headers: public static int taskManagerRecursive(int n) public static int taskManagerIterative(int n )
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
