File tree Expand file tree Collapse file tree 1 file changed +27
-22
lines changed
src/main/java/com/fishercoder/solutions Expand file tree Collapse file tree 1 file changed +27
-22
lines changed Original file line number Diff line number Diff line change 2525 */
2626public class _629 {
2727
28- /**reference: https://leetcode.com/articles/k-inverse-pairs-array/#approach-5-another-optimized-dynamic-programming-approachaccepted
29- * and
30- * https://discuss.leetcode.com/topic/93815/java-dp-o-nk-solution*/
31- public int kInversePairs (int n , int k ) {
32- int mod = 1000000007 ;
33- if (k > n * (n - 1 ) / 2 || k < 0 ) {
34- return 0 ;
35- }
36- if (k == 0 || k == n * (n - 1 ) / 2 ) {
37- return 1 ;
38- }
39- long [][] dp = new long [n + 1 ][k + 1 ];
40- dp [2 ][0 ] = 1 ;
41- dp [2 ][1 ] = 1 ;
42- for (int i = 3 ; i <= n ; i ++) {
43- dp [i ][0 ] = 1 ;
44- for (int j = 1 ; j <= Math .min (k , i * (i - 1 ) / 2 ); j ++) {
45- dp [i ][j ] = dp [i ][j - 1 ] + dp [i - 1 ][j ];
46- if (j >= i ) {
47- dp [i ][j ] -= dp [i - 1 ][j - i ];
28+ public static class Solution1 {
29+
30+ /**
31+ * reference: https://leetcode.com/articles/k-inverse-pairs-array/#approach-5-another-optimized-dynamic-programming-approachaccepted
32+ * and
33+ * https://discuss.leetcode.com/topic/93815/java-dp-o-nk-solution
34+ */
35+ public int kInversePairs (int n , int k ) {
36+ int mod = 1000000007 ;
37+ if (k > n * (n - 1 ) / 2 || k < 0 ) {
38+ return 0 ;
39+ }
40+ if (k == 0 || k == n * (n - 1 ) / 2 ) {
41+ return 1 ;
42+ }
43+ long [][] dp = new long [n + 1 ][k + 1 ];
44+ dp [2 ][0 ] = 1 ;
45+ dp [2 ][1 ] = 1 ;
46+ for (int i = 3 ; i <= n ; i ++) {
47+ dp [i ][0 ] = 1 ;
48+ for (int j = 1 ; j <= Math .min (k , i * (i - 1 ) / 2 ); j ++) {
49+ dp [i ][j ] = dp [i ][j - 1 ] + dp [i - 1 ][j ];
50+ if (j >= i ) {
51+ dp [i ][j ] -= dp [i - 1 ][j - i ];
52+ }
53+ dp [i ][j ] = (dp [i ][j ] + mod ) % mod ;
4854 }
49- dp [i ][j ] = (dp [i ][j ] + mod ) % mod ;
5055 }
56+ return (int ) dp [n ][k ];
5157 }
52- return (int ) dp [n ][k ];
5358 }
5459}
You can’t perform that action at this time.
0 commit comments