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

एक पागल लेखक में n अक्षर टाइप करने के बाद वर्णों की अंतिम संख्या गिनने के लिए C++ प्रोग्राम है

मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी A है, और दूसरा मान c है। हमारे सिस्टम में एक क्रेजी वर्ड प्रोसेसर मौजूद है जहां हम कैरेक्टर टाइप कर सकते हैं लेकिन अगर हम लगातार सी सेकेंड्स के लिए टाइप नहीं करते हैं, तो सभी लिखित अक्षर हटा दिए जाएंगे। A[i] उस समय का प्रतिनिधित्व करता है जब हमने ith वर्ण टाइप किया है। हमें उन वर्णों की अंतिम संख्या ज्ञात करनी है जो सभी n वर्ण टाइप करने के बाद स्क्रीन पर बने रहेंगे।

इसलिए, यदि इनपुट ए =[1, 3, 8, 14, 19, 20] जैसा है; c=5, तो आउटपुट 3 होगा, क्योंकि दूसरे 8 पर स्क्रीन पर 3 शब्द होंगे। फिर, दूसरे 13 पर सब कुछ गायब हो जाता है। 14 और 19 सेकंड में दो और अक्षर टाइप किए जाते हैं, और अंत में, दूसरे 20 पर, एक और अक्षर टाइप किया जाता है, और कुल 3 अक्षर स्क्रीन पर रहते हैं।

कदम

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

s := 1
n := size of A
for initialize i := 1, when i < n, update (increase i by 1), do:
   if (A[i] - A[i - 1]) <= c, then:
      (increase s by 1)
   Otherwise
      s := 1
return s

उदाहरण

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

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

int solve(vector<int> A, int c) {
   int s = 1;
   int n = A.size();
   for (int i = 1; i < n; i++) {
      if ((A[i] - A[i - 1]) <= c) {
         s++;
      } else {
         s = 1;
      }
   }
   return s;
}
int main() {
   vector<int> A = { 1, 3, 8, 14, 19, 20 };
   int c = 5;
   cout << solve(A, c) << endl;
}

इनपुट

{ 1, 3, 8, 14, 19, 20 }, 5

आउटपुट

3

  1. C++ में डोमिनोज़ और ट्रोमिनोज़ के साथ क्षेत्र को भरने के लिए कॉन्फ़िगरेशन की संख्या गिनने का कार्यक्रम है

    मान लीजिए कि हमारे पास दो आकार हैं, डोमिनोज़ और ट्रोमिनो। डोमिनोज़ 2 x 1 आकार के होते हैं और ट्रोमिनोज़ L आकार के होते हैं। उन्हें नीचे की तरह घुमाया जा सकता है - यदि हमारे पास संख्या n है, तो हमें 2 x n बोर्ड को इन दो प्रकार के टुकड़ों से भरने के लिए कई विन्यासों को खोजना होगा। जैसा कि हम टाइलिं

  1. सी ++ में बाइनरी मैट्रिक्स को शून्य मैट्रिक्स में बदलने के लिए संचालन की संख्या की गणना करने का कार्यक्रम

    मान लीजिए कि हमारे पास एक बाइनरी मैट्रिक्स है। अब एक ऑपरेशन पर विचार करें जहां हम एक सेल लेते हैं और इसे और उसके सभी पड़ोसी कोशिकाओं (ऊपर, नीचे, बाएं, दाएं) को फ्लिप करते हैं। हमें आवश्यक संक्रियाओं की न्यूनतम संख्या ज्ञात करनी होगी जैसे कि मैट्रिक्स में केवल 0s हों। अगर कोई समाधान नहीं है, तो -1 लौ

  1. सी++ प्रोग्राम एक ऐरे में व्युत्क्रम की गणना करने के लिए

    काउंट इनवर्जन का अर्थ है किसी सरणी को सॉर्ट करने के लिए आवश्यक स्विच की संख्या। उलटा गिनती =0, जब सरणी को क्रमबद्ध किया जाता है। उलटा गिनती =अधिकतम, जब सरणी को उल्टे क्रम में क्रमबद्ध किया जाता है। आइए एक सरणी में उलटा गिनने के लिए एक C++ प्रोग्राम विकसित करें। एल्गोरिदम Begin    Function