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

C++ में सख्ती से घटते सबएरे की गिनती ढूंढें


मान लीजिए हमारे पास एक ऐरे A है। और हमें लंबाई > 1 के सख्ती से घटते सबएरे की कुल संख्या ढूंढनी है। तो यदि A = [100, 3, 1, 15]। तो घटते क्रम हैं [100, 3], [100, 3, 1], [15] तो आउटपुट 3 होगा। क्योंकि तीन सबएरे मिले हैं।

विचार लंबाई l के सबएरे को ढूंढना और परिणाम में l(l - 1)/2 जोड़ना है।

उदाहरण

#include 
using namespace std;

int countSubarrays(int array[], int n) {
    int count = 0;
    int l = 1;
    for (int i = 0; i < n - 1; ++i) {
        if (array[i + 1] < array[i])
            l++;
        else {
            count += (((l - 1) * l) / 2);
            l = 1;
        }
    }
    if (l > 1)
        count += (((l - 1) * l) / 2);
    return count;
}

int main() {
    int A[] = { 100, 3, 1, 13, 8};
    int n = sizeof(A) / sizeof(A[0]);
    cout << "Number of decreasing subarrys: " << countSubarrays(A, n);
}

आउटपुट

Number of decreasing subarrys: 4

  1. - C++ में अधिकतम सन्निकट सम संख्याओं की संख्या ज्ञात करें

    मान लीजिए हमारे पास n तत्वों की एक सरणी A है। हमें दी गई सरणी में अधिकतम सन्निकट सम संख्याओं की संख्या ढूंढनी है। इसलिए यदि सरणी A = [1, 2, 3, 4, 6, 8, 7] की तरह है, तो गिनती 3 होगी। हम इसे आसानी से हल कर सकते हैं। हमें दो काउंट वेरिएबल चाहिए: एक max_current, और दूसरा max_till_now। यदि एक सम संख्या

  1. - C++ प्रोग्राम: संख्या में उन अंकों की संख्या ज्ञात करना जो संख्या को विभाजित करते हैं

    मान लें कोई संख्या दी गई है। हमें संख्या के उन अंकों की संख्या गिननी है जो संख्या को समान रूप से विभाजित करते हैं। मान लें संख्या 1012 है, परिणाम 3 है। तीन अंक 1, 1, और 2 हैं जो 1012 को समान रूप से विभाजित करते हैं। इसे हल करने के लिए, हम मापांक ऑपरेशन का उपयोग करके संख्या के प्रत्येक अंक को ज्ञात

  1. - C++ में रोटेटेड सॉर्टेड सरणी में रोटेशन काउंट ढूंढना

    मान लीजिए हमारे पास एक सरणी है, जो रोटेटेड सॉर्टेड सरणी है। हमें उन रोटेशन की संख्या ढूंढनी है जो सरणी को सॉर्ट करने के लिए आवश्यक हैं। (हम रोटेशन दाएं से बाएं मानेंगे।)मान लीजिए सरणी ऐसी है: {15, 17, 1, 2, 6, 11}, तो हमें सरणी को दो बार रोटेट करना होगा ताकि यह सॉर्ट हो जाए। अंतिम क्रम {1, 2, 6, 11,