小苯有一个长度为 的数组 ,他想要使得数组 有序(单调不降)。 为此,他必须选择一段区间 ,将数组的这一段删除,其他的部分(如果存在的话)就按顺序拼在一起。 现在他想知道有多少种不同的选择区间的方案。 注:小苯认为,空数组也满足有序,即你可以选择 这个区间。
区块链毕设网qklbishe.com为您提供问题的解答
小苯有一个长度为 的数组
,他想要使得数组
有序(单调不降)。
为此,他必须选择一段区间 ,将数组的这一段删除,其他的部分(如果存在的话)就按顺序拼在一起。
现在他想知道有多少种不同的选择区间的方案。
注:小苯认为,空数组也满足有序,即你可以选择
这个区间。
**给你空间复杂度压缩到O(n)了都超空间,真有你的
publicstaticvoidmain(String[] args) {
Scanner in = newScanner(System.in);
intlength=in.nextInt();
int[] array=newint[length];
for(inti=0;i<length;i++) array[i]=in.nextInt();
boolean[] dp=newboolean[length];
intans=0;
for(intf=length-1;f>=0;f–) {
for(intl=0;l<length-f;l++) {
intr=l+f;
dp[r]= (l < 1|| dp[r]) && (l < 2|| array[l – 2] <= array[l – 1]) && (r > length – 2|| dp[r + 1]) && (r > length – 3|| array[r + 1] <= array[r + 2]);
if(dp[r]) ans++;
}
}
System.out.print(ans);
}
编辑于 今天 13:24:39
以上就是关于问题小苯有一个长度为 的数组 ,他想要使得数组 有序(单调不降)。
为此,他必须选择一段区间 ,将数组的这一段删除,其他的部分(如果存在的话)就按顺序拼在一起。
现在他想知道有多少种不同的选择区间的方案。
注:小苯认为,空数组也满足有序,即你可以选择 这个区间。的答案
欢迎关注区块链毕设网-
web3一级市场套利打新赚钱空投教程
区块链NFT链游项目方科学家脚本开发培训