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

C++ में जांचें कि क्या सभी 1 कम से कम K स्थान दूर हैं


मान लीजिए हमारे पास 0 और 1 का एक ऐरे nums और एक इंटीजर k है, हमें जांचना है कि क्या सभी 1 एक-दूसरे से कम से कम k स्थान दूर हैं, अन्यथा False लौटाएं।

इसलिए, यदि इनपुट है nums = [1,0,0,0,1,0,0,1], k = 2, तो आउटपुट true होगा, क्योंकि प्रत्येक 1 एक-दूसरे से कम से कम 2 स्थान दूर है।

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

  • last := -1

  • i := 0 से शुरू करें, जब i < nums का आकार, i बढ़ाते हुए, करें -

    • यदि nums[i], 1 के समान है, तो -

      • यदि last, -1 के समान है या (i - last - 1) >= k, तो -

        • last := i

      • अन्यथा

        • false लौटाएं

  • true लौटाएं

उदाहरण

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

#include <bits/stdc++.h> using namespace std; class Solution { public:    bool kLengthApart(vector<int>& nums, int k) {       int last = -1;       for (int i = 0; i < nums.size(); i++) {          if (nums[i] == 1) {             if (last == -1 || (i - last - 1) >= k)                last = i;             else                return false;          }       }       return true;    } }; main(){    Solution ob;    vector<int> v = {1,0,0,0,1,0,0,1};    cout << (ob.kLengthApart(v, 2)); }

इनपुट

{1,0,0,0,1,0,0,1}

आउटपुट

1

  1. C++ में जांचें कि क्या तीन बिंदु संरेखीय हैं या नहीं C++ में जांचें कि क्या तीन बिंदु संरेखीय हैं या नहीं

    तीन अलग-अलग मान वाले बिंदु दिए गए हैं और कार्य यह जांचना है कि क्या बिंदु संरेखीय हैं या नहीं। बिंदुओं को संरेखीय कहा जाता है यदि वे एक ही रेखा पर स्थित हैं और वे असंरेखीय हैं यदि वे अलग-अलग रेखाओं पर हैं। नीचे संरेखीय और असंरेखीय बिंदुओं का चित्र दिया गया है। इनपुट x1 = 1, x2 = 2, x3 = 3, y1 =

  1. - पायथन में सभी पैलिंड्रोमिक सबस्ट्रिंग की विषम लंबाई होने की जांच करने का प्रोग्राम

    मान लीजिए हमारे पास एक स्ट्रिंग s है, हमें जांचना है कि क्या इसके सभी पैलिंड्रोमिक सबस्ट्रिंग की लंबाई विषम है या नहीं।इसलिए, यदि इनपुट s = level जैसा है, तो आउटपुट True होगा।इसे हल करने के लिए, हम इन चरणों का पालन करेंगे −i के लिए 1 से s के आकार तक की रेंज में, करेंयदि s[i], s[i - 1] के समान

  1. - पायथन - जांचें कि लिस्ट में सभी तत्व समान हैं या नहीं

    कभी-कभी हमें यह जांचने की आवश्यकता होती है कि क्या लिस्ट में एक ही मान सभी तत्वों के रूप में दोहराया गया है। हम नीचे दिए गए पायथन प्रोग्राम का उपयोग करके ऐसे परिदृश्य की जांच कर सकते हैं। अलग-अलग दृष्टिकोण हैं। for लूप का उपयोग इस विधि में हम लिस्ट से पहला तत्व लेते हैं और पारंपरिक for लूप का उपयोग