【发布时间】:2015-08-14 12:15:47
【问题描述】:
{3, 2, 10, 4, 1, 6, 9} 是完全居中的数组,因为10+4+1=15 序列之前和之后有相同数量的元素,即两个。
mid=arraylength/2;
for(int i=0;i<arraylength;i++){
int sum=a[mid]+a[mid+1+i]+a[mid-1-i];
if(sum==15) break;
}
计算sum=15后,如何知道10,4,1前后有相同数量的元素?
【问题讨论】:
-
完美居中的数组到底是什么意思?根据您的定义,似乎所有数组都应该完全居中。中心的总和是否必须等于 15?
-
是的,中心必须有 15 个,所以总和为 15 的 3 个元素完全居中。
-
如果这些值等于 15,您的计算范围是?
-
3+ 2+ 10 = 15, 1+ 6+ 9 = 15。这个是起作用的,还是随机的?
-
如果数组的某些连续元素序列总和为 15,并且该序列前后有相同数量的元素,则该数组称为 centered-15。例如 {3, 2, 10, 4, 1, 6, 9} 以 15 为中心,因为序列 10, 4, 1 总和为 15,并且该序列前面有两个元素 (3, 2),后面有两个元素(6,9)。