首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

一个小面试题?整数数组求和有关问题

2014-04-26 
一个小面试题?整数数组求和问题随便给一个整数数组,判断前k-1个数之和与后面余下的数之和是否相等(k未知!)

一个小面试题?整数数组求和问题
随便给一个整数数组,判断前k-1个数之和与后面余下的数之和是否相等(k未知!)。相等就返回k值索引,否则返回-1。
例如:给定数组{1,2,3,4,6,4}。其中m=6,前k-1个数之和为10=1+2+3+4.后k...m个数之和为4+6=10.
即1+2+3+4=6+4=10,返回索引号k.

这个问题怎么解?求教算法高手!


[解决办法]
int half_sum_pos(int *a,int n)
{
int i,sum,halfsum;
sum=halfsum=0;
for(i=0;i<n;i++)
sum+=a[i];
for(i=0;i<n;i++)
{
halfsum+=a[i];
if(halfsum==sum/2)return i;
}
return -1;
}

热点排行