38. 2 Keys Keyboard
Input: 3
Output: 3
Explanation:
Intitally, we have one character 'A'.
In step 1, we use Copy All operation.
In step 2, we use Paste operation to get 'AA'.
In step 3, we use Paste operation to get 'AAA'.Solution: (DP)
class Solution
{
public:
int minSteps(int n)
{
vector<int> dp(n + 1);
dp[0] = 0;
dp[1] = 0;
for (int i = 2; i <= n; i++)
{
dp[i] = i;
for (int j = i - 1; j >= 2; j--)
{
if (i % j == 0)
{
int move = dp[j] + (i / j);
dp[i] = min(dp[i], move);
}
}
}
return dp[n];
}
};Last updated