Best Time to Buy and Sell Stock with Cooldown — DSA Interview 150 · 2-D Dynamic Programming
Classic interview problem #309.
Input (stdin)
Line 1: m\nLine 2: n
Output (stdout)
DP 2D grid paths (Best Time to Buy and Sell Stock with Cooldown)
Your program must read from stdin and write the answer to stdout (no extra debug text).
3 7
28
| Test | Status | Details |
|---|
Ready — edit the code above and click Run or Submit.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class Program
{
static int[] Ria(string line = null)
{
line ??= Console.ReadLine();
if (string.IsNullOrWhiteSpace(line)) return Array.Empty<int>();
return line.Trim().Split(new[] { ' ', ',', '\t' }, StringSplitOptions.RemoveEmptyEntries)
.Select(int.Parse).ToArray();
}
static string[] Rsa()
{
int n = int.Parse(Console.ReadLine());
var arr = new string[n];
for (int i = 0; i < n; i++) arr[i] = Console.ReadLine();
return arr;
}
static void W(params object[] parts) => Console.WriteLine(string.Join(" ", parts));
static void Wb(bool v) => Console.WriteLine(v ? "true" : "false");
static void Wi(int v) => Console.WriteLine(v);
static void Ws(string v) => Console.WriteLine(v);
static void Main()
{
int m = int.Parse(Console.ReadLine());
int n = int.Parse(Console.ReadLine());
int[] dp = new int[n];
Array.Fill(dp, 1);
for (int i = 1; i < m; i++)
for (int j = 1; j < n; j++)
dp[j] += dp[j - 1];
Wi(dp[n - 1]);
}
}
Try solving on your own first, then reveal the official answer.
Pattern: 2-D Dynamic Programming
Read from stdin, write to stdout. Classic interview problem #309.