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

पायथन में दिए गए आकार, योग और तत्व ऊपरी सीमा के साथ एक अलग तत्व सरणी का निर्माण करें


मान लीजिए कि हमारे पास एक आकार चर N है, हमारे पास एक चर SUM भी है, यह सरणी में उपलब्ध सभी तत्वों का कुल योग है और दूसरा चर K ऐसा है कि सरणी में कोई तत्व नहीं है K से बड़ा, हमें एक ओर्थोगोनल सरणी ढूंढनी होगी जहां सरणी के सभी तत्व अलग-अलग हों। अगर कोई समाधान नहीं है तो वापसी -1.

इसलिए, यदि इनपुट N =4, SUM =16 K =9 जैसा है, तो आउटपुट [1,2,4,9]

होगा।

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

  • न्यूनतम_योग :=(एन *(एन + 1)) / 2

  • max_sum :=(एन * के) -(एन *(एन -1)) / 2

  • यदि न्यूनतम_योग> योग या अधिकतम_योग <योग, तो

    • वापसी -1

  • res :=आकार N + 1 की एक सरणी और 0 से N तक भरें

  • योग :=न्यूनतम_योग

  • मैं :=एन

  • जबकि मैं>=1, करते हैं

    • x :=योग + (K - i)

    • अगर x <एसयूएम, तो

      • योग :=योग +(K - i)

      • रेस [i] :=K

      • कश्मीर:=के - 1

    • अन्यथा,

      • रेस [i] :=रेस [i] +(SUM - योग)

      • योग :=योग

      • लूप से बाहर आएं

    • मैं :=मैं - 1

  • रिटर्न रेस

उदाहरण

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

def get_arr(N, SUM, K):
   minimum_sum = (N * (N + 1)) / 2
   maximum_sum = (N * K) - (N * (N - 1)) / 2
   if (minimum_sum > SUM or maximum_sum < SUM):
      return -1
   res = [i for i in range(N + 1)]
   sum = minimum_sum
   i = N
   while(i >= 1):
      x = sum + (K - i)
      if (x < SUM):
         sum = sum + (K - i)
         res[i] = K
         K -= 1
      else:
         res[i] += (SUM - sum)
         sum = SUM
         break
         i -= 1
   return res
N = 4
SUM = 16
K = 9
print(get_arr(N, SUM, K))

इनपुट

4, 16, 9

आउटपुट

[0, 1, 2, 4.0, 9]

  1. दिए गए योग के साथ जोड़े खोजें जैसे कि जोड़ी तत्व पायथन में अलग-अलग बीएसटी में हों

    मान लीजिए कि हमारे पास दो दिए गए बाइनरी सर्च ट्री हैं और दूसरा योग दिया गया है; हमें दिए गए योग के संबंध में जोड़े खोजने होंगे ताकि प्रत्येक जोड़ी तत्व अलग-अलग बीएसटी में हों। तो, अगर इनपुट योग =12 जैसा है तो आउटपुट [(6, 6), (7, 5), (9, 3)] . होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  1. किसी दिए गए पूर्णांक सरणी के सभी विशिष्ट तत्वों को मुद्रित करने के लिए पायथन प्रोग्राम।

    एक पूर्णांक सरणी को देखते हुए। सरणी के तत्व डुप्लिकेट हो सकते हैं। हमारा कार्य विशिष्ट मानों को प्रदर्शित करना है। उदाहरण इनपुट::ए=[1,2,3,4,2,3,5,6]आउटपुट [1,2,3,4,5,6] एल्गोरिदम चरण 1:इनपुट ऐरे तत्व। चरण 2:फिर सभी तत्वों को एक-एक करके चुनें। चरण 3:फिर जांचें कि चुना गया तत्व पहले से प्रदर्शित है या

  1. पायथन प्रोग्राम दिए गए आकार के समूहों में एक सरणी को उलटने के लिए?

    =1 तो हम सरणी के सभी तत्वों को उलट देते हैं। एल्गोरिदम Revarray(A,n,p) /* A is an integer Array, n is the size of an array and every sub-array of size p starting from the beginning of the array and reverse it.*/ Step 1: i is the loop control variable which is initialized by 0. Step 2: using while l