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

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


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

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

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

उदाहरण

public class Arrays{    public int[] ShortestDistanceToCharacter(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.Min(leftDis[i], rightDis[i]);       }       return ans;    } } static void Main(string[] args){    Arrays s = new Arrays();    string ss = "lovecode";    char c = 'e';    var res = s.ShortestDistanceToCharacter(ss, c);    foreach (var item in res){       Console.WriteLine(item);    } }

आउटपुट

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

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

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

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

  1. - Python Regex का उपयोग करके दी गई स्ट्रिंग में "1(0+)1" के सभी पैटर्न खोजें

    इस ट्यूटोरियल में, हम एक प्रोग्राम लिखेंगे जो regexes का उपयोग करके स्ट्रिंग में 1(0+1) की सभी घटनाओं को ढूंढता है। हमारे पास Python में एक re मॉड्यूल है जो नियमित अभिव्यक्ति के साथ काम करने में हमारी मदद करता है।आइए एक नमूना केस देखें।इनपुट: string = Sample 1(0+)1 string with 1(0+)1 unnecessary pat