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

किसी शेयर को ज्यादा से ज्यादा दो बार खरीदने और बेचने से अधिकतम लाभ


व्यापार में, एक खरीदार क्रमशः सुबह और शाम शेयरों को खरीदता और बेचता है। यदि एक दिन में अधिकतम दो लेन-देन की अनुमति है। पहला लेनदेन पूरा होने के बाद ही दूसरा लेनदेन शुरू हो सकता है। यदि स्टॉक की कीमतें दी गई हैं, तो खरीदार द्वारा अर्जित अधिकतम लाभ ज्ञात कीजिए।

इनपुट और आउटपुट

<पूर्व>इनपुट:स्टॉक की कीमतों की एक सूची। {2, 30, 15, 10, 8, 25, 80}उत्पादन:यहाँ कुल लाभ 100 है। मूल्य 2 पर खरीदने और मूल्य 30 पर बेचने के रूप में लाभ 28। फिर मूल्य 8 पर खरीदें और इसे फिर से कीमत पर बेचें 80.तो लाभ 72. तो कुल लाभ 28 + 72 =100

एल्गोरिदम

findMaxProfit(pricelist, n)

इनपुट - सभी कीमतों की सूची, सूची में मदों की संख्या।

आउटपुट - अधिकतम लाभ।

आकार n के लाभ सरणी को परिभाषित करना शुरू करें और 0 maxPrice भरें:=pricelist[n-1]//अंतिम आइटम i के लिए चुना गया है:=n-2 से 0 तक, अगर pricelist[i]> maxPrice करें, तो करें maxPrice:=pricelist[i] लाभ [i]:=अधिकतम लाभ [i+1] और maxProfit – pricelist[i] किया गया minProce:=pricelist[0] // पहला आइटम i के लिए चुना गया है:=1 से n- 1, करें यदि pricelist[i]  

उदाहरण

#include नेमस्पेस का उपयोग करना std;int max(int ​​a, int b) {रिटर्न (a>b)?a:b;}int findMaxProfit(int priceList[], int n) { int * लाभ =नया इंट [एन]; for (int i=0; i=0;i--) {if (priceList[i]> maxPrice) maxPrice =priceList[i]; लाभ [i] =अधिकतम (लाभ [i + 1], अधिकतम मूल्य - मूल्य सूची [i]); // maxPrice में बेचने के लिए लाभ का पता लगाएं} int minPrice =priceList[0]; // मूल्य सूची का पहला आइटम न्यूनतम के लिए (int i=1; i
		

            
  1. C++ में जॉब शेड्यूलिंग में अधिकतम लाभ

    मान लीजिए कि हमारे पास अलग-अलग कार्य हैं, जहां प्रत्येक कार्य प्रारंभ समय [i] से समाप्ति समय [i] तक किया जाना निर्धारित है, उस कार्य के लिए हमें लाभ का लाभ मिलता है [i]। हम स्टार्टटाइम, एंडटाइम और प्रॉफिट लिस्ट को जानते हैं, हमें अधिकतम लाभ का पता लगाना होगा जो हम इस तरह ले सकते हैं कि ओवरलैपिंग टाइ

  1. पायथन में शुल्क के साथ स्टॉक खरीद और बेचकर हम अधिकतम लाभ प्राप्त करने के लिए कार्यक्रम प्राप्त कर सकते हैं?

    मान लीजिए कि हमारे पास कालानुक्रमिक क्रम में किसी कंपनी के स्टॉक की कीमतों की एक सूची है, और एक बिक्री लेनदेन के लिए लेनदेन शुल्क भी है। हमें उस स्टॉक को कितनी भी बार खरीदने और बेचने से अधिकतम लाभ प्राप्त करना होगा। हमें इसे बेचने से पहले खरीदना चाहिए। इसलिए, यदि इनपुट कीमतों की तरह है =[2, 10, 4,

  1. पायथन में स्टॉक खरीद और बेचकर हम अधिकतम लाभ प्राप्त करने के लिए कार्यक्रम कर सकते हैं?

    मान लीजिए कि हमारे पास कालानुक्रमिक क्रम में किसी कंपनी के स्टॉक की कीमतों की एक सूची है, तो हमें उस स्टॉक को खरीदने और बेचने से होने वाले अधिकतम लाभ का पता लगाना होगा। हमें बेचने से पहले खरीदना चाहिए, और फिर से खरीदने से पहले हमें स्टॉक बेचने के एक दिन बाद इंतजार करना चाहिए। इसलिए, यदि इनपुट कीमतो