समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पहले और एकमात्र तर्क के रूप में क्रमबद्ध पूर्णांकों की एक सरणी लेता है।
हमारे फ़ंक्शन को सत्य वापस आना चाहिए यदि और केवल यदि हम सरणी को 1 या अधिक बाद में विभाजित कर सकते हैं जैसे कि प्रत्येक अनुवर्ती में लगातार पूर्णांक होते हैं और लंबाई कम से कम 3 होती है, अन्यथा गलत।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है
इनपुट
const arr =[1, 2, 3, 3, 4, 5];
आउटपुट
कॉन्स्ट आउटपुट =सत्य;
आउटपुट स्पष्टीकरण
हम उन्हें लगातार दो क्रमों में विभाजित कर सकते हैं -
1, 2, 33, 4, 5
उदाहरण
निम्नलिखित कोड है -
const arr =[1, 2, 3, 3, 4, 5]; const canSplit =(arr =[]) => {const count =arr.reduce((acc, num) => {acc[num ] =(एसीसी [संख्या] || 0) + 1 रिटर्न एसीसी}, {}) कॉन्स की जरूरत ={} के लिए (गिरफ्तारी की संख्या) { अगर (गिनती [संख्या] <=0) {जारी रखें} गिनती [संख्या] -=1 अगर (आवश्यक [संख्या]> 0) { आवश्यक [संख्या] - =1 आवश्यक [संख्या + 1] =(आवश्यक [संख्या + 1] || 0) + 1 } और यदि (गिनती [संख्या + 1]> 0 &&गिनती [संख्या + 2]) {गिनती [संख्या + 1] - =1 गिनती [संख्या + 2] - =1 आवश्यक [संख्या + 3] =(आवश्यक [संख्या + 3] || 0) + 1 } और {वापसी झूठी}} सच लौटें} कंसोल.लॉग (कैनस्प्लिट (गिरफ्तारी));