3.30百度笔试数字跳跃
牛牛很喜欢在数字序列中跳跃,每次可以向后跳一步或跳到往后任意一个与该位置数字相同的位置,问最少几次跳到尾部
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String num = sc.next();
int[] dp = new int[n];
dp[0]=0;
dp[1]=1;
for (int i = 2; i < n; i++) {
//i-1位置不论相不相同都加1
for (int j = 0; j < i-1; j++) {
if (num.charAt(j)==num.charAt(i)){
dp[i]=Math.min(dp[j]+1,dp[i-1]+1);
break;
}
dp[i] = dp[i-1]+1;
}
}
System.out.println(dp[n-1]);
}
}
查看5道真题和解析