概述
千万不要忘记数据溢出这件事
import java.util.*;
public class Main {
public static void main(String args[]) {
int mod = 1000000007;
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n];
for(int i = 0; i < n; ++i) a[i] = sc.nextInt();
long[] dp = new long[n];
int[] color = new int[10];
dp[0] = 1;
++color[a[0]];
for(int i = 1; i < n; ++i){
if(color[a[i]] != 0){
int[] temp_c = new int[10];
++temp_c[a[i]];
int temp_i = i - 1;
dp[i] += dp[i - 1];
while(temp_c[a[temp_i]] == 0){
dp[i] += dp[temp_i - 1];
++temp_c[a[temp_i]];
--temp_i;
}
}else{
dp[i] = dp[i - 1] * 2;
++color[a[i]];
}
dp[i] %= mod;
}
System.out.println(dp[n - 1]);
}
}
最后
以上就是着急百褶裙为你收集整理的剪气球串(360公司2017春招真题的全部内容,希望文章能够帮你解决剪气球串(360公司2017春招真题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复