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

C++ में रेंज एडिशन II


समस्या विवरण

मान लीजिए हमारे पास एक m × n मैट्रिक्स M है जिसे सभी 0 से आरंभ किया गया है, और हमारे पास कई अपडेट ऑपरेशन हैं। ऑपरेशन को 2D सरणी द्वारा दर्शाया जाता है, जहां प्रत्येक ऑपरेशन दो धनात्मक पूर्णांक x और y वाला एक सरणी होता है। इसका अर्थ है कि M[i][j] में 1 जोड़ा जाना चाहिए उन सभी i के लिए जो 0 से x-1 की रेंज में हैं और उन सभी j के लिए जो 0 से y-1 की रेंज में हैं। सभी ऑपरेशन करने के बाद मैट्रिक्स में अधिकतम पूर्णांक की संख्या ज्ञात करनी है।

उदाहरण

यदि इनपुट है: m = 3, n = 3 और operations = [[2,2],[3,3]], तो आउटपुट होगा 4।

प्रारंभिक मैट्रिक्स:

000
000
000

[2,2] ऑपरेशन के बाद:

110
110
000

[3,3] ऑपरेशन के बाद:

221
221
111

हल करने का दृष्टिकोण

इस समस्या को हल करने के लिए निम्नलिखित चरणों का पालन करें:

  • minR := m, minC := n आरंभ करें
  • प्रत्येक ऑपरेशन op के लिए ops सरणी में:
    • minR := min(minR, op[0])
    • minC := min(minC, op[1])
  • minR * minC लौटाएं

C++ कार्यान्वयन

#include <bits/stdc++.h>
using namespace std;

class Solution {
public:
    int maxCount(int m, int n, const vector<vector<int>>& ops) {
        int minR = m;
        int minC = n;
        for (const auto& op : ops) {
            minR = min(minR, op[0]);
            minC = min(minC, op[1]);
        }
        return minR * minC;
    }
};

int main() {
    Solution ob;
    vector<vector<int>> v = {{2,2},{3,3}};
    cout << (ob.maxCount(3,3,v));
    return 0;
}

इनपुट

3,3,{{2,2},{3,3}}

आउटपुट

4
  1. - C++ में ऐरे में रेंज का मीन

    इस समस्या में, हमें n इंटीजर्स का एक ऐरे और कुछ m क्वेरीज दी गई हैं। हमारा कार्य एक ऐसा प्रोग्राम बनाना है जो क्वेरीज द्वारा दी गई रेंज के मीन का इंटीग्रल मान (राउंड डाउन) गणना करे।समस्या को समझने के लिए एक उदाहरण लेते हैं,इनपुट −array = {5, 7, 8, 9, 10} m = 2; [0, 3], [2, 4]आउटपुट −7 9इ

  1. - C++ में एक रेंज में सेट बिट्स कॉपी करना

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

  1. - C++ में रेंज सम क्वेरी - अपरिवर्तनीय

    मान लीजिए हमारे पास पूर्णांकों का एक ऐरे है। हमें इंडेक्स i से j तक मौजूद तत्वों का योग ढूंढना है। दो बातें ध्यान में रखनी हैं कि ऐरे अपरिवर्तनीय होगा, इसलिए तत्व बदले नहीं जाएंगे, और ऐसी कई क्वेरी होंगी। इसलिए हमें बड़ी संख्या में क्वेरी के लिए निष्पादन समय का ध्यान रखना होगा। मान लीजिए ऐरे A = [5