एक संख्यात्मक स्ट्रिंग, स्ट्र, को एक सुंदर स्ट्रिंग कहा जाता है यदि इसे दो या अधिक सकारात्मक पूर्णांकों के अनुक्रम एआर में विभाजित किया जा सकता है, जो निम्नलिखित शर्तों को पूरा करता है -
-
arr[i] - arr[i - 1] =1, अनुक्रम के सूचकांक में किसी भी i के लिए, यानी, अनुक्रम में प्रत्येक तत्व पिछले तत्व से अधिक है।
-
अनुक्रम के किसी भी तत्व में अग्रणी शून्य नहीं होना चाहिए। उदाहरण के लिए, हम '50607' को अनुक्रम [5, 06, 07] में विभाजित कर सकते हैं, लेकिन यह सुंदर नहीं है क्योंकि 06 और 07 में अग्रणी शून्य हैं।
-
अनुक्रम की सामग्री को पुनर्व्यवस्थित नहीं किया जा सकता है।
उदाहरण के लिए -
यदि इनपुट स्ट्रिंग है -
const str ='91011';
तब आउटपुट होना चाहिए -
कॉन्स्ट आउटपुट =सत्य;
क्योंकि वांछित अनुक्रम [9, 10, 11] है;
उदाहरण
इसके लिए कोड होगा -
const str ='91011';const isBeautiful =(str) => {let i =1; चलो गिनती =0; कास्ट {लंबाई} =str; जबकि (i <=लंबाई / 2) {जाने दें =सत्य; चलो जे =मैं; बाएं चलो =BigInt (str.substring (0, j)); चलो अगली रेंज =(बाएं + 1 एन)। टूस्ट्रिंग ()। लंबाई; जबकि (जे + अगली रेंज <=लंबाई) {दाएं =बिगइंट (str.substring (जे, जे + अगली रेंज)); अगर (बाएं ===दाएं -1 एन) {बाएं =दाएं; जे+=अगली श्रेणी; नेक्स्टरेंज =(बाएं + 1 एन)। टूस्ट्रिंग ()। लंबाई; गिनती =जे; } और {चेक =असत्य; तोड़ना; } }; अगर (चेक ===सच &&गिनती ===लंबाई) {वापसी सच; } मैं++; }; झूठी वापसी;};console.log(isBeautiful(str));
आउटपुट
और कंसोल में आउटपुट होगा -
<पूर्व>सत्य