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

सी ++ का उपयोग करके सभी तत्वों को 0 बनाने के लिए सरणी पर संचालन की न्यूनतम संख्या।

समस्या कथन

आकार एन की एक सरणी को देखते हुए और प्रत्येक तत्व या तो 1 या 0 है। कार्य सभी तत्वों को शून्य में बदलने के लिए किए जाने वाले संचालन की न्यूनतम संख्या की गणना करना है। कोई नीचे के ऑपरेशन कर सकता है -

यदि कोई तत्व 1 है, तो आप उसका मान 0 के बराबर बदल सकते हैं -

  • यदि अगला लगातार तत्व 1 है, तो यह स्वचालित रूप से 0 में परिवर्तित हो जाएगा

  • यदि अगला लगातार तत्व पहले से ही 0 है, तो कुछ नहीं होगा।

यदि arr[] ={1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1} तो सभी तत्वों को शून्य बनाने के लिए 4 ऑपरेशन आवश्यक हैं। पूर्व> 

एल्गोरिदम

1.यदि वर्तमान तत्व 1 है तो गिनती बढ़ाएं और अगले 0 की खोज करें क्योंकि सभी लगातार 1 स्वचालित रूप से 0.2 में परिवर्तित हो जाएंगे। अंतिम गणना लौटाएं

उदाहरण

#शामिल करें के लिए (i =0; i 
		

            
  1. C++ में सरणी के GCD को k का गुणज बनाने के लिए न्यूनतम संचालन

    मान लीजिए कि हमारे पास एक सरणी गिरफ्तारी और दूसरा मान k है। हमें सरणी के GCD को k के गुणज के बराबर बनाने के लिए न्यूनतम संख्या में संक्रियाओं का पता लगाना होगा। इस मामले में, ऑपरेशन मूल्य में वृद्धि या कमी कर रहा है। मान लीजिए कि सरणी {4, 5, 6} की तरह है, और k 5 है। हम 4 को 1 से बढ़ा सकते हैं और 6 क

  1. सी ++ में सरणी के सभी तत्वों को समान बनाने के लिए न्यूनतम डिलीट ऑपरेशंस।

    समस्या कथन n तत्वों की एक सरणी को देखते हुए जैसे कि तत्व दोहरा सकते हैं। हम सरणी से किसी भी संख्या में तत्वों को हटा सकते हैं। कार्य इसे समान बनाने के लिए सरणी से हटाए जाने वाले तत्वों की न्यूनतम संख्या को खोजना है। arr[] = {10, 8, 10, 7, 10, -1, -4, 12} सभी सरणी तत्वों को समान बनाने के लिए हमें ह

  1. पायथन में सभी सरणी तत्वों को समान बनाने के लिए आवश्यक संचालन की संख्या

    हमने तत्वों की एक सरणी दी है, और हमें तत्वों को 1 से बढ़ाकर उन सभी को समान बनाना है। हमें प्रत्येक चरण में n - 1 तत्व को बढ़ाने की अनुमति है। हमारा लक्ष्य सभी सरणी तत्वों को समान बनाने के लिए आवश्यक संचालन की कुल संख्या की गणना करना है। उदाहरण के लिए, यदि आप सूची [1, 2, 3] लेते हैं, तो सभी तत्वों को