0, 0,... ,1,1,1
0, 0,... ,1,1,[3--n]
0, 0,... ,1,2,2
0, 0,... ,1,2,[4--n]
0, 0,... ,1,1,1,2
0, 0,... ,1,1,2,3
特殊的例子:
1,1
应该就是这几种了吧,当k>=5之后,答案就与k无关了吧。 具体的,当n>5,k>5,答案应该是 n - 1 + n - 2 + 1 + 1 = n * 2 - 1
为什么我的思路过不了最后一个用例? 最后一个用例的第2组数据, 传入的n=9223372036854775807,k为一个18位数。 我计算答案是:
1999043918960165887
标准答案是:
1999043918960165907
if (k >= 4) {
//base1: 0, ... ,1,1,not(2)={1,3,4,5, ... ,n}
//base2: 0, ... ,1,2,not(3)={2,4,5, ... , n}
if (n == 1) {
ans = 1L;
} else if (n == 2) {
ans = 2L;
} else if (n == 3) {
ans = 3L;
} else {
ans = n - 1 + n - 2;
}
if (k >= 5) {
if (n > 1) {
//base3: 0, ... ,1,1,1,2
ans++;
}
if (n > 2) {
//base3: 0, ... ,1,1,2,3
ans++;
}
}
}
return ans;
}