回文数组
输入
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); }