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

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

मान लीजिए कि हमारे पास आकार n की एक सरणी है और इसे 0 के साथ आरंभीकृत किया गया है और हमारे पास एक मान k भी है, हम k अद्यतन संचालन करेंगे। प्रत्येक ऑपरेशन को ट्रिपलेट के रूप में दर्शाया जाएगा:[स्टार्टइंडेक्स, एंडइंडेक्स, इंक] जो सबरे ए के प्रत्येक तत्व को बढ़ाता है [स्टार्टइंडेक्स ... एंडइंडेक्स] (स्टार्टइंडेक्स और एंडइंडेक्स समावेशी) इंक के साथ। सभी k ऑपरेशन निष्पादित होने के बाद हमें संशोधित सरणी ढूंढनी होगी।

इसलिए, यदि इनपुट लंबाई =5, अपडेट =[[1,3,2], [2,4,3], [0,2,-2]] की तरह है, तो आउटपुट [- 2,0 होगा ,3,5,3]

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <bits/stdc++.h>
using namespace std;
void print_vector(vector<auto< v){
   cout << "[";
   for(int i = 0; i<v.size(); i++){
      cout << v[i] << ", ";
   }
   cout << "]"<<endl;
}
class Solution {
public:
   vector<int< getModifiedArray(int n, vector& a) {
      vector<int< ret(n);
      for (int i = 0; i < a.size(); i++) {
         int l = a[i][0];
         int r = a[i][1] + 1;
         ret[l] += a[i][2];
         if (r < n) {
            ret[r] -= a[i][2];
         }
      }
      for (int i = 1; i < n; i++) {
         ret[i] += ret[i - 1];
      }
      return ret;
   }
};
main(){
   Solution ob;
   vector<vector<int<> v = {{1,3,2},{2,4,3},{0,2,-2}};
   print_vector(ob.getModifiedArray(5,v));
}

इनपुट

5, {{1,3,2},{2,4,3},{0,2,-2}}

आउटपुट

[-2, 0, 3, 5, 3, ]

  1. C++ . में रेखा परावर्तन

    मान लीजिए कि हमारे पास 2D तल पर n बिंदु हैं, हमें यह जांचना है कि क्या y-अक्ष के समानांतर कोई रेखा है जो दिए गए बिंदुओं को सममित रूप से दर्शाती है, दूसरे शब्दों में, जांचें कि क्या कोई ऐसी रेखा मौजूद है जो दी गई रेखा पर सभी बिंदुओं को प्रतिबिंबित करने के बाद मूल बिंदुओं का सेट वही होता है जो प्रतिबि

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

    मान लीजिए कि हमारे पास पूर्णांकों की एक सरणी है। हमें अनुक्रमणिका i से j तक उपस्थित तत्वों का योग ज्ञात करना है। हमें दो बातों का ध्यान रखना होगा कि सरणी अपरिवर्तनीय होगी, इसलिए तत्वों को नहीं बदला जाएगा, और ऐसे कई प्रश्न होंगे। इसलिए हमें बड़ी संख्या में प्रश्नों के निष्पादन समय की परवाह करनी होगी।

  1. सी ++ में static_cast

    static_cast का उपयोग सामान्य/साधारण प्रकार के रूपांतरण के लिए किया जाता है। यह निहित प्रकार के जबरदस्ती के लिए जिम्मेदार कलाकार भी है और इसे स्पष्ट रूप से भी कहा जा सकता है। आपको इसका उपयोग फ्लोट को इंट, चार से इंट आदि में बदलने जैसे मामलों में करना चाहिए। यह संबंधित प्रकार की कक्षाओं को कास्ट कर सक