回文数组
输入
8
51 23 52 97 97 76 23 51
输出
598
代码测试验证部分如下
int[] arr = {51, 23, 52, 97, 97, 76, 23, 51};
int mid = (arr.length - 1) / 2;
int length = arr.length;
int indexMax= arr.length-1;
boolean flag = true;
int res=0;
while (mid >= 0) {
if (length % 2 != 0 && flag) {
res+=arr[mid];
flag = false;
}else{
if (arr[mid] ==arr[indexMax-mid]) {
res+=arr[mid];
res+=arr[indexMax-mid];
}else{
int pl = (arr[mid] + arr[indexMax - mid])*2;
res+=pl;
}
}
mid--;
}
System.out.println(res);
Integer reduce = IntStream.of(arr).boxed().reduce(0, (a, b) -> a + b);
reduce+=52;
reduce+=76;
System.out.println("reduce:"+reduce);
}


京公网安备 11010502036488号