рони, спасибо за попытку! но не сработает на таком примере:
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, время: 18:56. |