思路:首先将该数组按元素值的大小进行升序排列,同样的那个权值数组也要对应的进行排序,因为原先的那个数组的下标和权值数组的下标是相对应的,如果权值数组不跟着变化的,那么就无法知道某一个数的权值是多少了,就无法对应起来了。。
核心代码如下:
-
sum = w[1];
-
for(k=2;k<=n;k++)
-
{
-
if(sum>1/2)
-
return -1;
-
if(sum < 1/2 && sum + w[k] <= 1/2)
-
return A[k];
-
sum += w[k];
-
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29012686/viewspace-1130171/
,如需转载,请注明出处,否则将追究法律责任。