leetcode 629. K Inverse Pairs Array
2017-07-05 16:44
417 查看
629. K Inverse Pairs Array
User Accepted:81
User Tried:
363
Total Accepted:
83
Total Submissions:
1074
Difficulty:
Medium
Given two integers
nand
k, find how many different arrays consist of numbers from
1to
nsuch that there are exactly
kinverse pairs.
We define an inverse pair as following:For
ithand
jthelement in the array, if
i<
jand
a[i]>
a[j]then it's an inverse pair; Otherwise, it's not.
Since the answer may very large, the answer should be modulo 109 + 7.
Example 1:
Input: n = 3, k = 0 Output: 1 Explanation: Only the array [1,2,3] which consists of numbers from 1 to 3 has exactly 0 inverse pair.
Example 2:
Input: n = 3, k = 1 Output: 2 Explanation: The array [1,3,2] and [2,1,3] have exactly 1 inverse pair.
Note:
The integer
nis in the range [1, 1000] and
kis in the range [0, 1000].
思路不难想,dp[i][j]表示前i个数字构成j个逆序对的方法数。最朴素的想法是三重循环做,但是可以优化掉最内层对i-1的那层循环。
问题是对边界的处理真的烦,之前的codeM也是,很多题的思路都是对的,但就是边界的问题或者是写法不好导致题目过不去,总是差那么一点。。。真的伤心。。。
public class Solution {
public int kInversePairs(int n, int k) {
long[][] dp = new long[n+1][k+1];
for(int i=0; i<=n; i++)
dp[i][0] = 1;
for(int i=1; i<=n; i++)
for(int j=1; j<=k; j++) {
dp[i][j] = dp[i][j-1]+dp[i-1][j];
if(j-i >= 0) dp[i][j] -= dp[i-1][j-i];
dp[i][j] += 1000000007;
dp[i][j] %= 1000000007;
}
return (int) dp
[k];
}
}
相关文章推荐
- [Leetcode] 629. K Inverse Pairs Array 解题报告
- [leetcode]629. K Inverse Pairs Array
- leetcode:K inverse pairs array
- 629. K Inverse Pairs Array 自制答案
- 629. K Inverse Pairs Array
- K Inverse Pairs Array (leetcode)
- [LeetCode] K Inverse Pairs Array K个翻转对数组
- Leetcode | K Inverse Pairs Array
- K Inverse Pairs Array - LeetCode
- 629. K Inverse Pairs Array
- LeetCode 532. K-diff Pairs in an Array
- LeetCode : K-diff Pairs in an Array
- [leetcode]: 532. K-diff Pairs in an Array
- Leetcode 532 K-diff Pairs in an Array
- Leetcode 532 K-diff Pairs in an Array
- Leetcode 532. K-diff Pairs in an Array(Easy)
- leetcode--532. K-diff Pairs in an Array
- LeetCode - 532 - K-diff Pairs in an Array
- LeetCode 532. K-diff Pairs in an Array
- LeetCode 532. K-diff Pairs in an Array