рони, спасибо за попытку! но не сработает на таком примере:
var arr = [1, 2, 3, 4, 5, 6, 7000, 8000];
function get(arr)
{
var m = Math.max(arr[0],arr[1]) , n = Math.min(arr[0],arr[1]);
for (var i=0; i<arr.length; i=i+2) {
var min = Math.min(arr[i],arr[i+1]),
max = Math.max(arr[i],arr[i+1]);
if (max < m) m = max;
if (min > n) n = min;
} ;
return (n+m)/2
}
alert(get(arr));
|
danik.js,
:cray:
var arr = [9,7,1,8], a = [1, 2, 3, 4, 5, 6, 7, 8] ;
function get(a) {
var c, e = a[0] > a[1] ? (c = a[1], a[0]) : (c = a[0], a[1]);
for (var b = 0; b < a.length; b += 2) {
var d, f = a[b] > a[b + 1] ? (d = a[b + 1], a[b]) : (d = a[b], a[b + 1]);
f < e && (e = f);
d > c && (c = d)
}
return (c + e) / 2
};
alert([get(arr),get(a)].join('\n'));
|
вариант не ок :-E )))
|
В общем, решение оказалось простым, хоть и не очевидным.
Промежуточная задача - слияние двух упорядоченных массивов. |
| Часовой пояс GMT +3, время: 12:17. |