हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पूर्णांकों की एक सरणी को एकमात्र तर्क के रूप में लेता है।
फ़ंक्शन को यह निर्धारित करना चाहिए कि क्या कोई ऐसा तरीका मौजूद है जिससे हम सरणी को दो उप-सरणी में विभाजित कर सकते हैं जैसे कि दो उप-सरणी में मौजूद तत्वों का योग बराबर हो। तत्वों को उप-सरणी में विभाजित करते समय हमें यह सुनिश्चित करना होगा कि मूल सरणी से कोई तत्व नहीं बचा है।
उदाहरण के लिए -
यदि इनपुट ऐरे है -
const arr =[5, 3, 7, 4, 1, 8, 2, 6];
तब आउटपुट होना चाहिए -
कॉन्स्ट आउटपुट =सत्य;
क्योंकि वांछित उप-सरणी हैं:[5, 3, 4, 6] और [7, 1, 8, 2] और दोनों का योग 18 के बराबर है।
उदाहरण
निम्नलिखित कोड है -
const arr =[5, 3, 7, 4, 1, 8, 2, 6];const canPartition =(arr =[]) => {const sum =arr.reduce((acc, val) => एसीसी + वैल); अगर (योग% 2!==0){ झूठी वापसी; }; स्थिरांक लक्ष्य =योग/2; कॉन्स सरणी =नया ऐरे (लक्ष्य + 1)। भरें (झूठा); सरणी [0] =सच; के लिए (गिरफ्तारी की संख्या) {अगर (सरणी [लक्ष्य - संख्या]) {वापसी सच}; के लिए (चलो मैं =लक्ष्य; मैं> =संख्या; मैं--) {सरणी [i] =सरणी [i - संख्या]; } } झूठी वापसी;};console.log(canPartition(arr));
आउटपुट
कंसोल आउटपुट निम्नलिखित है -
<पूर्व>सत्य