给一个自己琢磨的JS实现。
思路就是:比较前后数组的第一个和最后一个
如果第一个和最后一个不相等:则把小的删掉,同时计数。
如果相等,则把收尾的数都删掉。同时计数。
知道数组没有数,或者还剩一个数,如果还剩一个数,把最后一个数计数。
输入计数。
这个其实和把数组反过来比较那个是一样的思路。
不知道对不对,不对的请指正。
function huiwen(arr){
var sum = 0;
var first,last,value;
while(arr.length>1){
first = arr[0];
last = arr[arr.length-1];
value = 0;
if(first != last){
if(first > last){
value = arr.pop()
}else{
value = arr.shift();
}
}else{
value = arr.shift();
arr.pop();
}
sum += value*2;
}
if(arr.length==1){
sum += arr[0];
};
return sum;
}
huiwen([1,2,3,1,2]);// 11