কম্পিউটার টিউটোরিয়াল

C#-তে টার্গেটের নিকটতম কোয়াড্রাপলেট বের করুন


টু পয়েন্টার প্যাটার্ন এবং কোয়াড্রাপলেট সম টু জিরোর সাথে মিলতুল্য। আমরা একই পদ্ধতিতে অ্যারে ইটারেট করতে পারি, একবারে একটি নম্বর নিয়ে। প্রতিটি ধাপে, কোয়াড্রাপলেট এবং টার্গেট নম্বরের পার্থক্য সংরক্ষণ করব এবং প্রতিটি ধাপে এটিকে 지금까지 के ন্যূনতম টার্গেট পার্থক্যের সাথে তুলনা করব, যাতে শেষে সবচেয়ে নিকটস্থ সম='".$triplet'টি রিটার্ন করা যায়।

টাইম কমপ্লেক্সিটি

অ্যারে সর্ট করতে O(N* logN) লাগবে। সামগ্রিক fourSumClosest() নেবে O(N * logN + N^3), যা অ্যাসিম্পটটিক্যালি O(N^3)-এর সমতুল্য।

স্পেস কমপ্লেক্সিটি

উপরোক্ত অ্যালগরিদমের স্পেস কমপ্লেক্সিটি O(N) যা সর্টিংয়ের জন্য প্রয়োজন।

উদাহরণ

public class Arrays{     public int FourSumClosestToTarget(int[] nums, int target){         if (nums == null || nums.Length == 0){             return -1;         }         int[] newNums = nums.OrderBy(x => x).ToArray();         int initialSum = newNums[0] + newNums[1] + newNums[2] + newNums[3];         for (int i = 0; i < nums.Length; i++){             for (int j = i; j < nums.Length; j++){                 int left = j + 1;                 int right = nums.Length - 1;                 while (left < right){                     int nearestSum = newNums[i] + newNums[j] + newNums[left] + newNums[right];                     if (nearestSum < initialSum){                         initialSum = nearestSum;                     }                     if (nearestSum == target){                         return nearestSum;                     }                     else if (nearestSum < target){                         left++;                     }                     else{                         right--;                     }                 }             }         }         return initialSum;     } } static void Main(string[] args){     Arrays s = new Arrays();     int[] nums = { 1,0,-1,0,-2,2 };     var ss = FourSumClosestToTarget(nums,0);     Console.WriteLine(ss); }

আউটপুট

0
  1. C#-এ দুটি বাইনরি সংখ্যার গুণফল বের করা

  2. C#-এ জ্যাগড অ্যারে (Jagged Array) এর দৈর্ঘ্য বের করা

  3. Python-এ একটি সংখ্যার ফ্যাক্টোরিয়াল (Factorial) বের করা

  4. Python-এ প্রাকৃতিক সংখ্যার যোগফল (Sum of Natural Numbers) বের করা