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

पायथन में दिए गए ऑपरेशन करने के बाद अंत में शून्य होने वाले इंडेक्स को खोजें


मान लीजिए हमारे पास n संख्याओं का एक ऐरे A है और एक और इनपुट K है, हमें वह इंडेक्स ढूंढना है जो दिए गए ऑपरेशन को करने के बाद अंत में शून्य हो जाएगा। ऑपरेशन इस प्रकार समझाया गया है:

A[0] से A[N-1] से शुरू करके, प्रत्येक तत्व को A[i] = A[i] - K के रूप में अपडेट करें। अब, यदि A[i] < K तो A[i] = 0 रखें और एक बार 0 होने पर A[i] पर कोई और ऑपरेशन नहीं किया जाएगा।

हमें ऑपरेशन को तब तक दोहराना है जब तक सभी तत्व 0 तक कम नहीं हो जाते। और वह इंडेक्स लौटाएं जो अंत में शून्य बनेगा।

तो, यदि इनपुट A = [4, 3, 6, 8, 3, 10] और K = 4 जैसा है, तो आउटपुट 5 होगा क्योंकि ऑपरेशन इस प्रकार हैं: ऑपरेशन 1 - A = {0, 0, 2, 4, 0, 6} ऑपरेशन 2 - A = {0, 0, 0, 0, 0, 2} ऑपरेशन 3 - A = {0, 0, 0, 0, 0, 0}

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

  • n := A का आकार

  • idx := -1

  • i को 0 से n तक के लिए, करें:

    • A[i] := (A[i] + k - 1) / k

  • i को 0 से n तक के लिए, करें:

    • यदि A[i] >= x, तो:

      • x := A[i]

      • idx := i

  • idx लौटाएं

उदाहरण

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

def search_index(A, k):    n = len(A)    idx = -1    x = -10**9    for i in range(n):       A[i] = (A[i] + k - 1) // k    for i in range(n):       if (A[i] >= x):          x = A[i]          idx = i    return idx arr = [4, 3, 6, 8, 3, 10] K = 4 print(search_index(arr, K))

इनपुट

[4, 3, 6, 8, 3, 10], 4

आउटपुट

5

  1. - पायथन में दी गई शर्त को पूरा करने वाली लेक्सिकोग्राफिकली सबसे छोटी स्ट्रिंग खोजें

    मान लीजिए हमारे पास n संख्याओं का एक ऐरे A है, जहां A[i] एक स्ट्रिंग s के लंबाई (i+1) के प्रीफिक्स में विशिष्ट वर्णों की संख्या दर्शाता है, हमें लेक्सिकोग्राफिकली सबसे छोटी स्ट्रिंग ढूंढनी है जो दिए गए प्रीफिक्स ऐरे को संतुष्ट करती है। सभी वर्ण लोअरकेस अंग्रेजी वर्णमाला [a-z] होंगे। यदि ऐसी कोई स्ट्

  1. - पायथन में दिए गए ऑपरेशन करने के बाद अंत में शून्य होने वाले इंडेक्स को खोजें

    मान लीजिए हमारे पास n संख्याओं का एक ऐरे A है और एक और इनपुट K है, हमें वह इंडेक्स ढूंढना है जो दिए गए ऑपरेशन को करने के बाद अंत में शून्य हो जाएगा। ऑपरेशन इस प्रकार समझाया गया है:A[0] से A[N-1] से शुरू करके, प्रत्येक तत्व को A[i] = A[i] - K के रूप में अपडेट करें। अब, यदि A[i] < K तो A[i] = 0 रखें औ

  1. - Python में दी गई लिस्ट में किसी आइटम का इंडेक्स कैसे खोजें?

    लिस्ट में किसी एलिमेंट की पोजीशन (किसी भी सीक्वेंस डेटा टाइप के लिए) index() मेथड द्वारा प्राप्त की जाती है। यह मेथड दिए गए एलिमेंट के पहले ऑकरेंस को ढूंढता है। >>> L1=[45, 32, 100, 10, 24, 56] >>> L1.index(24) 4