From 71e7b4401097f072398885755ae90e03fc426529 Mon Sep 17 00:00:00 2001 From: Shreyanshu Malviya Date: Sat, 2 Oct 2021 11:23:59 +0530 Subject: [PATCH 1/2] nCr-Problem Statement --- .../nCr Calculation/Problem Statement | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 DSA/Java/Dynamic_Programming/nCr Calculation/Problem Statement diff --git a/DSA/Java/Dynamic_Programming/nCr Calculation/Problem Statement b/DSA/Java/Dynamic_Programming/nCr Calculation/Problem Statement new file mode 100644 index 0000000..37b847f --- /dev/null +++ b/DSA/Java/Dynamic_Programming/nCr Calculation/Problem Statement @@ -0,0 +1,25 @@ +Find nCr for given n and r. + +Example 1: + +Input: +n = 3, r = 2 +Output: 3 +Example 2: + +Input: +n = 4, r = 2 +Output: 6 +Your Task: +Complete the function nCrModp() which takes two integers n and r as input parameters and returns the nCr mod 109+7. +Note: nCr does not exist when r > n. Hence, return 0 in that case. + +Expected Time Complexity : O(N*R) +Expected Auxiliary Space: O(N) + +Constraints: +1<= n <= 103 +1<= r <= 103 + +Company Tags + Amazon From d4721e1083ffc15ab3af3016a99580ff38fd155f Mon Sep 17 00:00:00 2001 From: Shreyanshu Malviya Date: Sat, 2 Oct 2021 11:25:26 +0530 Subject: [PATCH 2/2] nCr Calculation Solution.java --- .../nCr Calculation/Solution.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 DSA/Java/Dynamic_Programming/nCr Calculation/Solution.java diff --git a/DSA/Java/Dynamic_Programming/nCr Calculation/Solution.java b/DSA/Java/Dynamic_Programming/nCr Calculation/Solution.java new file mode 100644 index 0000000..a0ed317 --- /dev/null +++ b/DSA/Java/Dynamic_Programming/nCr Calculation/Solution.java @@ -0,0 +1,35 @@ +class Solution +{ + + static int p = 1000000007; + + public static int min(int a, int b) + { + return (a 0; j--) + // nCj = (n-1)Cj + (n-1)C(j-1); + C[j] = (C[j]%p + C[j-1]%p)%p; + } + + //returning the result. + return C[r]; + } +}