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

C# में सरणी से न्यूनतम (सबसे छोटा) तत्व प्राप्त करना


C# में किसी सरणी या संग्रह से सबसे छोटा तत्व प्राप्त करने के लिए LINQ का Min() मेथड सबसे सरल और पठनीय तरीका है। यह System.Linq नेमस्पेस में उपलब्ध है।

उदाहरण

using System;
using System.Linq;

class Demo
{
    static void Main()
    {
        int[] arr = { 5, 9, 2, 7 };
        
        // Min() मेथड से सबसे छोटा तत्व प्राप्त करें
        int smallest = arr.Min();
        
        Console.WriteLine($"सरणी: [{string.Join(", ", arr)}]");
        Console.WriteLine($"सबसे छोटा तत्व: {smallest}");
    }
}

आउटपुट

सरणी: [5, 9, 2, 7]
सबसे छोटा तत्व: 2

विभिन्न डेटा प्रकारों के साथ Min()

using System;
using System.Linq;

public class Demo
{
    public static void Main()
    {
        // इंटीजर सरणी
        int[] numbers = { 45, 12, 78, 3, 99, 23 };
        Console.WriteLine($"इंट न्यूनतम: {numbers.Min()}");
        
        // डबल सरणी
        double[] decimals = { 3.14, 2.71, 1.41, 1.73 };
        Console.WriteLine($"डबल न्यूनतम: {decimals.Min()}");
        
        // स्ट्रिंग सरणी (वर्णानुक्रम में पहला)
        string[] words = { "zebra", "apple", "banana", "cherry" };
        Console.WriteLine($"स्ट्रिंग न्यूनतम: {words.Min()}");
        
        // DateTime सरणी
        DateTime[] dates = { 
            new DateTime(2023, 12, 25), 
            new DateTime(2023, 1, 1), 
            new DateTime(2023, 7, 4) 
        };
        Console.WriteLine($"सबसे पहली तारीख: {dates.Min():d}");
        
        // कस्टम ऑब्जेक्ट्स के साथ (सेलेक्टर का उपयोग)
        var students = new[]
        {
            new { Name = "अमित", Age = 22, Score = 85 },
            new { Name = "प्रिया", Age = 20, Score = 92 },
            new { Name = "राहुल", Age = 21, Score = 78 }
        };
        
        int minAge = students.Min(s => s.Age);
        int minScore = students.Min(s => s.Score);
        
        Console.WriteLine($"न्यूनतम उम्र: {minAge}");
        Console.WriteLine($"न्यूनतम स्कोर: {minScore}");
    }
}

आउटपुट

इंट न्यूनतम: 3
डबल न्यूनतम: 1.41
स्ट्रिंग न्यूनतम: apple
सबसे पहली तारीख: 1/1/2023
न्यूनतम उम्र: 20
न्यूनतम स्कोर: 78

Min() के ओवरलोड्स

ओवरलोडउपयोग
Min()संख्यात्मक/तुलनीय प्रकारों के लिए डिफॉल्ट तुलना
Min(selector)प्रत्येक तत्व को प्रोजेक्ट करने के बाद न्यूनतम
Min(selector)जेनेरिक सेलेक्टर के साथ

पारंपरिक लूप दृष्टिकोण (तुलना के लिए)

// LINQ Min() के बिना
int[] arr = { 5, 9, 2, 7 };
int min = arr[0];
for (int i = 1; i < arr.Length; i++)
{
    if (arr[i] < min)
        min = arr[i];
}
Console.WriteLine(min); // 2

महत्वपूर्ण बिंदु

  • Min() खाली अनुक्रम पर InvalidOperationException फेंकता है
  • खाली सरणी के लिए DefaultIfEmpty() या Min() ?? default का उपयोग करें
  • संदर्भ प्रकारों के लिए, तुलनीय (IComparable) होना आवश्यक है
  • प्रदर्शन: O(n) समय जटिलता, एकल पास
  • MinBy() (C# 10/.NET 6+) न्यूनतम तत्व वाला पूरा ऑब्जेक्ट लौटाता है

MinBy() उदाहरण (नए .NET संस्करणों के लिए)

// .NET 6+ / C# 10+
var youngestStudent = students.MinBy(s => s.Age);
Console.WriteLine($"सबसे युवा: {youngestStudent.Name} (उम्र: {youngestStudent.Age})");
  1. - C# प्रोग्राम सबसे अधिक बार आने वाले तत्व को ढूंढने के लिए

    मान लें कि हमारी स्ट्रिंग है: String s = HeathLedger!; अब एक नई सरणी बनाएं। int[] cal = new int[maxCHARS]; एक नई विधि बनाएं और इसमें उपरोक्त घोषित स्ट्रिंग और नई सरणी दोनों पास करें। किसी कैरेक्टर की अधिकतम घटना ढूंढें। static void calculate(String s, int[] cal) { for (int i = 0; i < s.Length;

  1. Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक ऐरे दिया गया है, हमें ऐरे के सबसे बड़े तत्व की गणना करने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का उपयोग करते हैं जिसमें हम पूरे लूप को पार करके और तत्व प्राप्त करके सबसे बड़ा तत्व निकालते हैं। हम नीच

  1. - पायथन प्रोग्राम: 2D ऐरे में k-वां सबसे छोटा एलिमेंट खोजना

    एक n×n यूजर इनपुट इंटीजर मैट्रिक्स दिया गया है और k का मान। हमारा कार्य 2D ऐरे में k-वां सबसे छोटा एलिमेंट ढूंढना है। यहां हम heapq मॉड्यूल का उपयोग करते हैं। पायथन में हीप क्यू (या heapq) उपलब्ध है। इस मॉड्यूल की तकनीक यह है कि हर बार हीप एलिमेंट का सबसे छोटा पॉप किया जाता है (मिन हीप)। nsmallest()