मान लीजिए हमारे पास n लोअरकेस अक्षरों का एक स्ट्रिंग S है। एक स्ट्रिंग को विविध कहा जाता है यदि इसमें अंग्रेजी वर्णमाला के लगातार अक्षर हैं और प्रत्येक अक्षर ठीक एक बार आता है। (अक्षर 'a' और 'z' आसन्न नहीं हैं)। हमें जांचना है कि यह विविध है या नहीं।
उदाहरण के लिए, यदि इनपुट S = "fced" है, तो आउटपुट True होगा।
चरण
इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:
sort the array S flag := 1 for initialize i := 1, when i < size of S and flag is non-zero, update (increase i by 1), do: if S[i] - S[i - 1] is not equal to 1, then: flag := 0 return (if flag is non-zero, then true, otherwise false)
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
#includeusing namespace std; bool solve(string S){ sort(S.begin(), S.end()); int flag = 1; for (int i = 1; i < S.size() && flag; i++) if (S[i] - S[i - 1] != 1) flag = 0; return flag ? true : false; } int main(){ string S = "fced"; cout << solve(S) << endl; }
इनपुट
"fced"
आउटपुट
1