मान लीजिए कि हमारे पास सकारात्मक संख्याओं की एक क्रमबद्ध सरणी है, इस सरणी को आरोही क्रम में क्रमबद्ध किया गया है, एर को सबसे छोटा सकारात्मक मान खोजना होगा जिसे दिए गए किसी भी सबसेट के तत्वों के योग के रूप में प्रदर्शित नहीं किया जा सकता है सेट। हमें इस समस्या को O(n) समय में हल करना है।
इसलिए, यदि इनपुट A =[1, 4, 8, 12, 13, 17] जैसा है, तो आउटपुट 2 होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
n :=A का आकार
-
उत्तर:=1
-
मेरे लिए 0 से n की सीमा में, करें
-
अगर A[i] <=उत्तर दें, तो
-
उत्तर:=उत्तर + ए[i]
-
-
अन्यथा,
-
लूप से बाहर आएं
-
-
-
वापसी उत्तर
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def get_smallest_element(A): n = len(A) answer = 1 for i in range (0, n ): if A[i] <= answer: answer = answer + A[i] else: break return answer A = [1, 4, 8, 12, 13, 17] print(get_smallest_element(A))
इनपुट
[1, 4, 8, 12, 13, 17]
आउटपुट
2