मान लीजिए हमारे पास आकार n का एक ऐरे है, यदि ऐरे में तत्व 0 से k-1 की रेंज में हैं। जहां k एक धनात्मक पूर्णांक है और k <= n। हमें इस ऐरे में अधिकतम दोहराने वाली संख्या ढूंढनी है।
तो, यदि इनपुट k = 8 और A = [3, 4, 4, 6, 4, 5, 2, 8] जैसा है, तो आउटपुट 4 होगा।
इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:
n := A का आकार
i को 0 से n तक के लिए, करें:
A[A[i] mod k] := A[A[i] mod k] + k
max_val := A[0]
result := 0
i को 1 से n तक के लिए, करें:
यदि A[i] > max_val, तो:
max_val := A[i]
result := i
result लौटाएं
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
def get_max_repeating(A, k): n = len(A) for i in range(n): A[A[i]%k] += k max_val = A[0] result = 0 for i in range(1, n): if A[i] > max_val: max_val = A[i] result = i return result A = [3, 4, 4, 6, 4, 5, 2, 8] k = 8 print(get_max_repeating(A, k))
इनपुट
[3, 4, 4, 6, 4, 5, 2, 8], 8
आउटपुट
4