हमें अलग-अलग पूर्णांकों की एक सरणी दी गई है, मान लीजिए arr, और पूर्णांक सरणियों की एक और सरणी, मान लीजिए sourceArr।
SourceArr सरणी में, पूर्णांक भिन्न होते हैं। हमें एक ऐसा फ़ंक्शन लिखना चाहिए जो किसी भी क्रम में sourceArr में सरणियों को जोड़कर एआर बनाता है।
हालाँकि, हम soureArr में किसी भी सबअरे के अंदर पूर्णांकों को पुन:व्यवस्थित नहीं कर सकते। यदि स्रोत से सरणी गिरफ्तारी बनाना संभव है, तो हमें सही लौटना चाहिए, अन्यथा गलत।
उदाहरण के लिए -
const arr = [23, 67, 789]; const sourceArr = [[23], [789, 67]];
फ़ंक्शन को झूठी वापसी करनी चाहिए क्योंकि हम एक सबरे के अंदर तत्वों को पुन:व्यवस्थित नहीं कर सकते हैं और जिसके बिना हम लक्ष्य को प्राप्त नहीं कर सकते हैं।
उदाहरण
const arr1 = [23, 67, 789]; const arr2 = [23, 789, 67]; const sourceArr = [[23], [789, 67]]; const validFormation = (arr, sourceArr) => { const indexes = new Array(100); let arrIndex = 0; let index; for (let i = 0; i < sourceArr.length; ++i) { indexes[sourceArr[i][0]] = i; } while (arrIndex < arr.length) { index = indexes[arr[arrIndex]]; if (index === undefined) return false; for (let j = 0; j < sourceArr[index].length; ++j) { if (arr[arrIndex] !== sourceArr[index][j]) return false; ++arrIndex; } } return true; }; console.log(validFormation(arr1, sourceArr)); console.log(validFormation(arr2, sourceArr));
आउटपुट
यह निम्नलिखित आउटपुट देगा -
false true