Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# का उपयोग करके दिए गए स्ट्रिंग से बिना वर्ण दोहराए सबसे लंबे उपस्ट्रिंग की लंबाई कैसे खोजें?


दिए गए स्ट्रिंग इनपुट से, दो पॉइंटर्स i और j रखकर स्लाइडिंग विंडो तकनीक का उपयोग करें। दोनों i और j स्ट्रिंग में एक ही वर्ण पर इंगित करेंगे। स्ट्रिंग को पार करें और इसे सूची में जोड़ें। यदि दोहराया गया वर्ण मिलता है तो इसे सूची से हटा दें अन्यथा सूची में जोड़ें।

उदाहरण 1

इनपुट − s = "abcabcbb"

आउटपुट − 3

व्याख्या − उत्तर "abc" है, जिसकी लंबाई 3 है।

उदाहरण 2

इनपुट − s = "bbbbb"

आउटपुट − 1

व्याख्या − उत्तर "b" है, जिसकी लंबाई 1 है।

समय जटिलता − O(N)

स्पेस जटिलता − O(N)

उदाहरण

public class Arrays{    public int LongestSubstringWithNoRepeatingCharacters(string s){       List<char> c = new List<char>();       int iPointer = 0;       int jpointer = 0;       int max = 0;       while (jpointer < s.Length){          if (c.Contains(s[jpointer])){             c.Remove(s[iPointer]);             iPointer++;          }          else{             max = Math.Max(c.Count(), max);             c.Add(s[jpointer]);             jpointer++;          }       }       return max;    } } static void Main(string[] args){    int res = s.LongestSubstringWithNoRepeatingCharacters("abcabcbb");    Console.WriteLine(res); }

आउटपुट

2
  1. - जावास्क्रिप्ट में स्ट्रिंग में सबसे लंबे स्वर उपस्ट्रिंग की लंबाई ढूंढना

    समस्याहमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक स्ट्रिंग लेता है। हमारा फ़ंक्शन सबसे लंबे सन्निहित उपस्ट्रिंग की लंबाई लौटाएगा जिसमें केवल स्वर हों।उदाहरणनिम्न कोड देखें:const str = schooeal; const findLongestVowel = (str = ) => {    let cur = 0    let max = 0    

  1. - C भाषा में स्ट्रिंग से स्वर (Vowels) हटाना

    तर्क दिए गए स्ट्रिंग से स्वरों (a, e, i, o, u - छोटे और बड़े दोनों) को हटाने का एल्गोरिदम: for (i = 0; i < len; i++) { if (str[i] है स्वर) { // वर्तमान स्थिति से सभी अक्षरों को एक स्थान बाएं शिफ्ट करें for (j = i; j < len; j++) { str[j] = str[j + 1]; }

  1. C++ में दिए गए प्रारंभिक वर्ण से सबसे लंबे लगातार पथ की लंबाई ज्ञात करें C++ में दिए गए प्रारंभिक वर्ण से सबसे लंबे लगातार पथ की लंबाई ज्ञात करें

    विभिन्न वर्णों का एक मैट्रिक्स दिया गया है। एक वर्ण से शुरू करके हमें सबसे लंबा पथ ढूंढना है जो उन सभी वर्णों को पार करके जाता है जो वर्तमान वर्ण से बड़े हैं। वर्ण एक-दूसरे के क्रमागत हैं। E से शुरू होता है। सबसे लंबा पथ ढूंढने के लिए, हम डेप्थ फर्स्ट सर्च एल्गोरिदम का उपयोग करेंगे। DFS के दौरान, क