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

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


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

उदाहरण

Input Array is:: 10 20 20 40 15 45 40 30 32 33 30 50 12 78 99 78
The value of k is 10
10 th smallest element is 40

एल्गोरिदम

चरण 1: पहले एक 2D ऐरे बनाएं।
चरण 2: फिर पहली पंक्ति को एक वेरिएबल में असाइन करें और इसे मिन हीप में कन्वर्ट करें।
चरण 3: फिर शेष पंक्तियों को ट्रैवर्स करें और एलिमेंट्स को मिन हीप में पुश करें।
चरण 4: अब heapq मॉड्यूल के nsmallest(k, iterable) मेथड का उपयोग करें और पहले k सबसे छोटे एलिमेंट्स की लिस्ट प्राप्त करें, nsmallest(k,list) मेथड पहले k सबसे छोटे एलिमेंट्स लौटाता है अब उस लिस्ट का लास्ट एलिमेंट प्रिंट करें।

उदाहरण कोड

# पायथन प्रोग्राम: 2D ऐरे में K-वां सबसे छोटा एलिमेंट खोजने के लिए
import heapq
def smallestele(A):
    assignval = A[0]
    heapq.heapify(assignval)
    for i in A[1:]:
        for j in i:
            heapq.heappush(assignval, j)
    mini = heapq.nsmallest(k, assignval)
    print(k, "th smallest element is ", mini[-1])

# ड्राइवर प्रोग्राम
if __name__ == "__main__":
    A = []
    n = int(input("Enter N for N x N matrix: "))
    print("Enter the element ::>")
    for i in range(n):
        row = []  # पंक्ति स्टोर करने के लिए अस्थायी लिस्ट
        for j in range(n):
            row.append(int(input()))  # इनपुट को पंक्ति लिस्ट में जोड़ें
        A.append(row)  # पंक्ति को लिस्ट में जोड़ें
    print(A)
    # Display the 2D array
    print("Display Array In Matrix Form")
    for i in range(n):
        for j in range(n):
            print(A[i][j], end=" ")
        print()  # नई लाइन
    k = int(input("Enter the kth position ::>"))
    smallestele(A)

आउटपुट

Enter N for N x N matrix: 4
Enter the element ::>
10
20
20
40
15
45
40
30
32
33
30
50
12
78
99
78
[[10, 20, 20, 40], [15, 45, 40, 30], [32, 33, 30, 50], [12, 78, 99, 78]]
Display Array In Matrix Form
10 20 20 40
15 45 40 30
32 33 30 50
12 78 99 78
Enter the kth position ::>10
10 th smallest element is 40
  1. Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना

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

  1. पायथन प्रोग्राम: ऐरे का योग ढूंढें पायथन प्रोग्राम: ऐरे का योग ढूंढें

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

  1. पायथन प्रोग्राम: ऐरे में सबसे बड़ा एलिमेंट ढूंढें पायथन प्रोग्राम: ऐरे में सबसे बड़ा एलिमेंट ढूंढें

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