मान लीजिए कि हमारे पास n लोअरकेस अक्षरों वाला एक स्ट्रिंग S है। एक स्ट्रिंग को विविध कहा जाता है यदि उसमें अंग्रेजी वर्णमाला के लगातार अक्षर हों और प्रत्येक अक्षर ठीक एक बार आता हो। (अक्षर 'ए' और 'जेड' आसन्न नहीं हैं)। हमें यह जांचना होगा कि यह विविध है या नहीं।
इसलिए, यदि इनपुट S ="fced" जैसा है, तो आउटपुट ट्रू होगा।
कदम
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
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)
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h> using 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