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

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


दो अलग-अलग ऐरे leftDis और rightDis बनाएं। leftDis बाएं दिशा से चलने पर मान संग्रहीत करेगा। rightDis दाएं से चलने पर सबसे छोटा मान संग्रहीत करेगा। जब भी वर्ण मिले तो वर्ण की स्थिति को ऐरे में जोड़ें। अंतिम चरण में दोनों ऐरे के अधिकतम की गणना करें।

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

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

उदाहरण

public class Arrays{    public int[] LongestDistanceToCharacter(string s, char c){       int stringLength = s.Length;       int[] leftDis = new int[s.Length];       int[] rightDis = new int[s.Length];       leftDis = Enumerable.Range(0, s.Length).Select(n => int.MinValue).ToArray();       rightDis = Enumerable.Range(0, s.Length).Select(n => int.MaxValue).ToArray();       int count = int.MaxValue;       for (int i = 0; i < rightDis.Length; i++){          if (s[i] == c){             count = 0;             rightDis[i] = count;          }          else{             if (count != int.MaxValue){                count++;                rightDis[i] = count;             }          }       }       count = int.MaxValue;       for (int i = leftDis.Length - 1; i >= 0; i--){          if (s[i] == c){             count = 0;             leftDis[i] = count;          }          else{             if (count != int.MaxValue){                count++;                leftDis[i] = count;             }          }       }       int[] ans = new int[stringLength];       for (int i = 0; i < stringLength - 1; i++){          ans[i] = Math.Max(leftDis[i], rightDis[i]);       }       return ans;    } } static void Main(string[] args){    Arrays s = new Arrays();    string ss = "lovecode";    char c = 'e';    var res = s.LongestDistanceToCharacter(ss, c);    foreach (var item in res){       Console.WriteLine(item);    } }

आउटपुट

[2147483647,2147483647,2147483647,0,3,2,3,0]
  1. - Java का उपयोग करके स्ट्रिंग में यूनिक कैरेक्टर कैसे खोजें?

    आप निम्नलिखित तरीकों से पता लगा सकते हैं कि दी गई स्ट्रिंग में निर्दिष्ट कैरेक्टर मौजूद है या नहीं: indexOf() विधि का उपयोग करके आप String क्लास की indexOf() विधि का उपयोग करके स्ट्रिंग में किसी विशेष अक्षर को खोज सकते हैं। यह विधि एक इंटीजर पैरामीटर लौटाती है जो स्ट्रिंग के भीतर शब्द की पोजीशन इं

  1. - जावा में दिए गए कैरेक्टर के लिए यूनिकोड कैटेगरी कैसे खोजें?

    Character क्लास Object का एक सबक्लास है और यह प्रिमिटिव टाइप char के मान को ऑब्जेक्ट में लपेटता है। Character टाइप के ऑब्जेक्ट में एक सिंगल फील्ड होता है जिसका टाइप char है। हम getType() मेथड का उपयोग करके किसी विशेष कैरेक्टर के लिए यूनिकोड कैटेगरी निर्धारित कर सकते हैं। यह Character क्लास का एक स्

  1. - Python का उपयोग करके दी गई संख्या में अंकों की संख्या कैसे ज्ञात करें?

    इस प्रोग्राम में, हमें उपयोगकर्ता द्वारा दी गई एक पूर्णांक में अंकों की संख्या ज्ञात करनी है।उदाहरण के लिएउपयोगकर्ता इनपुट: 123, आउटपुट: 3उपयोगकर्ता इनपुट: 1987, आउटपुट: 4एल्गोरिदमचरण 1: उपयोगकर्ता से पूर्णांक मान इनपुट के रूप में लें।चरण 2: संख्या को 10 से विभाजित करें और भागफल को पूर्णांक प्रकार म