मान लीजिए कि हमारे पास एन संख्याओं के साथ एक सरणी है, हमें यह जांचना है कि क्या 3 तत्व जैसे कि b[i]
इसलिए, यदि इनपुट [13, 12, 11, 6, 7, 3, 31] जैसा है, तो आउटपुट [6,7,31]
होगा।इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- n :=A का आकार
- अधिकतम:=n-1, न्यूनतम:=0
- छोटा :=आकार 1000 की एक सरणी, और 0 से भरें
- छोटा[0] :=-1
- 1 से n की श्रेणी में i के लिए, करें
- अगर ए[i] <=ए[न्यूनतम], तो
- न्यूनतम:=मैं
- छोटा[i] :=-1
- अन्यथा,
- छोटा[i] :=न्यूनतम
- अगर ए[i] <=ए[न्यूनतम], तो
- अधिक :=आकार 1000 की एक सरणी, और 0 से भरें
- अधिक [n-1] :=-1
- n-2 से -1 की श्रेणी में i के लिए, 1 से घटाएं
- अगर ए[i]>=ए[अधिकतम], तो
- अधिकतम:=मैं
- अधिक [i] :=-1
- अन्यथा,
- अधिक से अधिक[i] :=अधिकतम
- अगर ए[i]>=ए[अधिकतम], तो
- मैं के लिए 0 से n की सीमा में, करते हैं
- यदि छोटा [i] -1 के समान नहीं है और बड़ा [i] -1 के समान नहीं है, तो
- रिटर्न ए[छोटा[i]], ए[i], ए[बड़ा[i]]
- यदि छोटा [i] -1 के समान नहीं है और बड़ा [i] -1 के समान नहीं है, तो
- वापस "कुछ नहीं"
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def find_inc_seq(A): n = len(A) maximum = n-1 minimum = 0 smaller = [0]*10000 smaller[0] = -1 for i in range(1, n): if (A[i] <= A[minimum]): minimum = i smaller[i] = -1 else: smaller[i] = minimum greater = [0]*10000 greater[n-1] = -1 for i in range(n-2, -1, -1): if (A[i] >= A[maximum]): maximum = i greater[i] = -1 else: greater[i] = maximum for i in range(0, n): if smaller[i] != -1 and greater[i] != -1: return A[smaller[i]], A[i], A[greater[i]] return "Nothing" arr = [13, 12, 11, 6, 7, 3, 31] print(find_inc_seq(arr) )
इनपुट
[13, 12, 11, 6, 7, 3, 31]
आउटपुट
(6, 7, 31)