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

पायथन में एक सरणी में अच्छे जोड़े गिनने का कार्यक्रम

मान लीजिए कि हमारे पास गैर-ऋणात्मक मानों के साथ nums नामक एक सरणी है। हमें सरणी में मौजूद सूचकांकों के अच्छे जोड़े खोजने होंगे, यदि उत्तर बहुत बड़ा है, तो उत्तर मोड 10^9+7 लौटाएं। यहां सूचकांकों की एक जोड़ी (i, j) को अच्छा कहा जाता है जब वे इन सभी शर्तों को पूरा करते हैं:1. 0 <=i . के समान

नोट - यहां रेव () पूर्णांक के केवल धनात्मक भाग को उलट देता है, इसलिए यदि रेव(564) है, तो इसका मतलब 465 है, लेकिन अगर रेव (540) है, तो यह 45 लौटाता है।

इसलिए, यदि इनपुट संख्या =[97,2,42,11] की तरह है, तो आउटपुट 2 होगा क्योंकि पहले वाले के लिए दो जोड़े (0,2) और (1,3) हैं [97 + रेव (42) =97+24 =121, और 42 + रेव (97) =42 + 79 =121] और दूसरे के लिए [2 + रेव(11) =2 + 11 =13 और 11 + रेव(2) =13].

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • मी :=(10^9) +7

  • dic :=एक खाली नक्शा, जिसका डिफ़ॉल्ट मान 0

    . है
  • अंकों में प्रत्येक अंक के लिए, करें

    • रेव :=संख्या का उल्टा

    • dic[num - rev] को 1 से बढ़ाएं

  • रेस:=0

  • डीआईसी के सभी मूल्यों की सूची में प्रत्येक वैल के लिए, करें

    • रेस :=रेस + भागफल (वैल*(वैल-1))/2

  • रिटर्न रेस मॉड एम

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

from collections import defaultdict
def solve(nums):
   m = (10**9)+7
   dic = defaultdict(int)
   for num in nums:
      rev=int(str(num)[::-1])
      dic[num-rev]+=1

   res=0
   for val in dic.values():
      res += (val*(val-1)) // 2

   return res % m

nums = [97,2,42,11]
print(solve(nums))

इनपुट

[97,2,42,11]

आउटपुट

2

  1. पायथन में 1 के योग वाले अंश जोड़े की संख्या गिनने का कार्यक्रम

    मान लीजिए कि हमारे पास भिन्नों की एक सूची है जहां प्रत्येक भिन्न अलग-अलग सूचियां हैं [अंश, हर] जो संख्या (अंश / हर) का प्रतिनिधित्व करता है। हमें भिन्नों के युग्मों की संख्या ज्ञात करनी है जिनका योग 1 है। इसलिए, यदि इनपुट भिन्नों की तरह है =[[2, 7], [3, 12], [4, 14], [5, 7], [3, 4], [1, 4]], तो आउट

  1. एक सरणी में व्युत्क्रमों की गणना करने के लिए पायथन कार्यक्रम

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

  1. सरणी रोटेशन के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - एक टेक्स्ट और एक पैटर्न को देखते हुए, हमें टेक्स्ट में पैटर्न और उसके क्रमपरिवर्तन (या विपर्यय) की सभी घटनाओं को प्रिंट करना होगा। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # maximum value MAX = 300 #