Leetcode 629 Solution

This article provides solution to leetcode question 629 (k-inverse-pairs-array)

https://leetcode.com/problems/k-inverse-pairs-array

Solution

class Solution: def kInversePairs(self, n: int, k: int) -> int: dp = [] s = []
for i in range(n + 1): dp.append([0] * (k + 1)) s.append([0] * (k + 1))
for i in range(n + 1): dp[i][0] = 1 s[i][0] = 1
for j in range(1, k + 1): dp[1][j] = 0 s[1][j] = s[1][j - 1] + dp[1][j]
for i in range(2, n + 1): for j in range(1, k + 1): dp[i][j] = (s[i - 1][j] - (s[i - 1][j - i] if j >= i else 0)) % (10 ** 9 + 7) s[i][j] = s[i][j - 1] + dp[i][j]
return dp[n][k]