हमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की एक सरणी को पहले और एकमात्र तर्क के रूप में लेता है।
हमारे फ़ंक्शन का काम सरणी में मौजूद तत्वों को वैकल्पिक तरीके से क्रमबद्ध करना है।
वैकल्पिक से हमारा मतलब निम्नलिखित है -
मान लीजिए हमारे पास एक सरणी arr है जिसमें फिलहाल केवल चार तत्व हैं। तो हमारे फ़ंक्शन को सरणी के तत्वों को इस तरह फेरबदल करना चाहिए कि -
arr[0] < arr[1] > arr[2] < arr[3]
ध्यान दें कि दी गई सरणी के लिए एक से अधिक संभावित समाधान हो सकते हैं, हमें केवल संभावित समाधानों में से किसी एक को वापस करना है।
उदाहरण के लिए -
यदि इनपुट सरणी है -
const arr = [1, 2, 3, 4, 5, 6];
तो एक संभावित आउटपुट हो सकता है -
const output = [ 3, 6, 2, 5, 1, 4 ];
उदाहरण
निम्नलिखित कोड देखें:
const arr = [1, 2, 3, 4, 5, 6];
const alternateSort = (arr = []) => {
arr.sort((a, b) => a - b);
const N = arr.length;
let mid = Math.floor(N / 2);
if (N % 2 !== 0) {
mid++;
};
const small = arr.splice(0, mid);
const big = arr.splice(0, arr.length);
for (let i = 0; i < N; i++) {
if (i % 2 === 0) {
arr[i] = small.pop();
} else {
arr[i] = big.pop();
};
};
};
alternateSort(arr);
console.log(arr);
आउटपुट
कंसोल आउटपुट निम्नलिखित है -
[ 3, 6, 2, 5, 1, 4 ]