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

सी # का उपयोग करके शून्य के करीब सभी अद्वितीय चौगुनी कैसे खोजें?

आसान तरीका यह है कि हम चार नेस्टेड लूप बना सकते हैं और एक-एक करके जांच सकते हैं कि सभी चार तत्वों का योग शून्य है या नहीं। यदि चार तत्वों का योग शून्य है तो प्रिंट तत्व।

समय की जटिलता - हे(n 4 )

अंतरिक्ष जटिलता -ओ(1)

हम सरणी के प्रत्येक मान को संग्रहीत करने के लिए एक अनियंत्रित सेट डेटा संरचना का उपयोग कर सकते हैं। सेट ओ (1) समय में किसी तत्व को खोजने का लाभ प्रदान करता है। इसलिए, सरणी में प्रत्येक जोड़ी के लिए, हम उनके योग के ऋणात्मक की तलाश करेंगे जो सेट में मौजूद हो सकते हैं। यदि ऐसा कोई तत्व पाया जाता है तो हम त्रिक को प्रिंट कर सकते हैं जो पूर्णांकों का युग्म और उनके योग का ऋणात्मक मान होगा।

समय की जटिलता - हे(n 3 )

अंतरिक्ष जटिलता -ओ(एन)

उदाहरण

public class Arrays{
   public List<List<int>> FourSum(int[] nums){
      List<List<int>> res = new List<List<int>>();
      if (nums == null || nums.Length == 0){
         return null;
      }
      int[] newNums = nums.OrderBy(x => x).ToArray();
      for (int i = 0; i < newNums.Length; i++){
         for (int j = i; j < newNums.Length; j++){
            int left = j + 1;
            int right = newNums.Length - 1;
            while (left < right){
               int sum = newNums[i] + newNums[j] + newNums[left] + newNums[right];
               if (sum == 0){
                  List<int> sums = new List<int>();
                  sums.Add(newNums[i]);
                  sums.Add(newNums[j]);
                  sums.Add(newNums[left]);
                  sums.Add(newNums[right]);
                  res.Add(sums);
                  int leftValue = newNums[left];
                  int rightValue = newNums[right];
                  while (left < nums.Length && leftValue == nums[left]){
                     left++;
                  }
                  while (right > left && right == nums[right]){
                     right--;
                  }
               }
               else if (sum < 0){
                  left++;
               }
               else{
                  right--;
               }
            }
            while (j + 1 < nums.Length && nums[j] == nums[j + 1]){
               j++;
            }
         }
         while (i + 1 < nums.Length && nums[i] == nums[i + 1]){
            i++;
         }
      }
      return res;
   }
}

static void Main(string[] args){
   Arrays s = new Arrays();
   int[] nums = { 1,0,-1,0,-2,2 };
   var ss = FourSum(nums);
   foreach (var item in ss){
      foreach (var item1 in item){
         Console.WriteLine(item1);
      }
   }
}

आउटपुट

[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]

  1. यह निर्धारित करने के लिए कि स्ट्रिंग में सी # का उपयोग कर सभी अद्वितीय वर्ण हैं या नहीं?

    यह निर्धारित करने के लिए कि किसी स्ट्रिंग में अद्वितीय वर्ण हैं या नहीं, पहले स्ट्रिंग में अगले शब्द के साथ एक शब्द की जाँच करें - for (int j = i + 1; j < val.Length; j++) {    if (val[i] == val[j]) } यदि आपको कोई मेल मिलता है, तो इसका मतलब यह होगा कि स्ट्रिंग में अद्वितीय वर्ण नहीं है

  1. Numpy का उपयोग करके किसी दिए गए मैट्रिक्स के सभी तत्वों का योग कैसे प्राप्त करें?

    इस कार्यक्रम में, हम numpy लाइब्रेरी में योग () फ़ंक्शन का उपयोग करके एक numpy मैट्रिक्स की सभी शर्तों को जोड़ देंगे। हम पहले एक यादृच्छिक संख्यात्मक मैट्रिक्स बनाएंगे और फिर, हम सभी तत्वों का योग प्राप्त करेंगे। एल्गोरिदम Step 1: Import numpy. Step 2: Create a random m×n matrix using the rand

  1. पायथन का उपयोग करके सभी खोली गई फ़ाइलों को कैसे बंद करें?

    सभी खुली फाइलों को ट्रैक करने के लिए मूल रूप से पाइथन में कोई रास्ता नहीं है। ऐसा करने के लिए आपको या तो सभी फाइलों को स्वयं ट्रैक करना चाहिए या हमेशा के साथ स्टेटमेंट का उपयोग उन फाइलों को खोलने के लिए करना चाहिए जो फाइल को अपने आप बंद कर देती हैं क्योंकि यह गुंजाइश से बाहर हो जाती है या एक त्रुटि