समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो समान लंबाई के संख्याओं के दो सरणी, arr1 और arr2 लेता है।
हमारे फ़ंक्शन को पहले सरणी, arr1 के तत्वों को फेरबदल करना चाहिए, जैसे कि तत्वों की अधिकतम संख्या सरणी arr2 के संबंधित तत्वों से अधिक हो। फिर फ़ंक्शन को फेरबदल की गई सरणी वापस करनी चाहिए।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है
इनपुट
const arr1 = [3, 5, 12, 19]; const arr2 = [2, 9, 3, 12];
आउटपुट
const output = [3, 12, 5, 19];
आउटपुट स्पष्टीकरण
arr1 को शफ़ल करने से पहले, इसमें arr2 की तुलना में 3 संगत तत्व अधिक थे, लेकिन शफ़ल किए गए सरणी में, सभी 4 तत्व बड़े होते हैं।
निम्नलिखित कोड है:
उदाहरण
const arr1 = [3, 5, 12, 19]; const arr2 = [2, 9, 3, 12]; const maximiseArray = (arr1 = [], arr2 = []) => { arr1.sort((a, b) => b - a) const indexes = arr2.map((v, index) => index).sort((a, b) => arr2[b] - arr2[a]) const res = [] for(let i = 0; i < indexes.length; i++) { const index = indexes[i] res[index] = arr1[0] > arr2[index] ? arr1.shift() : arr1.pop() } return res } console.log(maximiseArray(arr1, arr2));
आउटपुट
[ 3, 12, 5, 19 ]