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

पायथन में उन इंडेक्स जोड़े की गिनती करना जिनके लिए ऐरे तत्व समान हैं


मान लीजिए हमारे पास nums नामक संख्याओं की एक लिस्ट है। हमें जोड़े i < j की संख्या ढूंढनी है जैसे कि nums[i] और nums[j] समान हैं।

उदाहरण के लिए, यदि इनपुट है nums = [5, 4, 5, 4, 4], तो आउटपुट होगा 4, क्योंकि हमारे पास इंडेक्स जोड़े जैसे (0, 2), (1, 3), (1, 4) और (3, 4) हैं।

समाधान दृष्टिकोण

प्रत्येक अद्वितीय तत्व की फ्रीक्वेंसी गिनें। फ्रीक्वेंसी f वाले तत्व के लिए, यह f * (f - 1) / 2 जोड़े योगदान देता है। सभी तत्वों पर योग करें।

  • c = Counter(nums) की गणना करें।
  • count = 0 आरंभ करें।
  • प्रत्येक फ्रीक्वेंसी n के लिए c.values() में:
    • count += n * (n - 1) // 2।
  • count लौटाएं।

पायथन कार्यान्वयन

from collections import Counter

def solve(nums):
    c = Counter(nums)
    count = 0
    for n in c.values():
        count += n * (n - 1) // 2
    return count

nums = [5, 4, 5, 4, 4]
print(solve(nums))

इनपुट

[5, 4, 5, 4, 4]

आउटपुट

4

  1. - पायथन में सही स्थान पर रखे गए तत्वों की संख्या गिनने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हमें उन तत्वों की संख्या ढूंढनी है जो सही इंडेक्स पर मौजूद हैं, जब सूची को क्रमबद्ध किया जाता है। उदाहरण के लिए, यदि इनपुट है [2, 8, 4, 5, 11], तो आउटपुट होगा 2, क्योंकि तत्व 2 और 11 अपनी सही स्थितियों पर हैं। क्रमबद्ध अनुक्रम होगा [2, 4, 5, 8,

  1. पायथन प्रोग्राम: सरणी में इनवर्जन गिनें पायथन प्रोग्राम: सरणी में इनवर्जन गिनें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक लिस्ट दी गई है, हमें आवश्यक इनवर्जन गिनने और प्रदर्शित करने हैं। इनवर्जन काउंट यह गिनकर प्राप्त किया जाता है कि सरणी को क्रमबद्ध करने के लिए कितने चरणों की आवश्यकता है। उदाहरण arr[j]): inv_count += 1 re

  1. पायथन प्रोग्राम: सरणी रोटेशन पायथन प्रोग्राम: सरणी रोटेशन

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक टेक्स्ट और एक पैटर्न दिया गया है, हमें पैटर्न और उसके क्रमपरिवर्तन (या एनाग्राम) की सभी घटनाओं को टेक्स्ट में प्रिंट करना है। उदाहरण # अधिकतम मान MAX = 300 # तुलना def compare(arr1, arr2): for i in range(MAX):