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

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


मान लीजिए हमारे पास एक सरणी है, जो रोटेटेड सॉर्टेड सरणी है। हमें उन रोटेशन की संख्या ढूंढनी है जो सरणी को सॉर्ट करने के लिए आवश्यक हैं। (हम रोटेशन दाएं से बाएं मानेंगे।)

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

तर्क सरल है। यदि हम ध्यान दें, तो हम देख सकते हैं कि रोटेशन की संख्या न्यूनतम तत्व के इंडेक्स के मान के समान है। तो यदि हमें न्यूनतम तत्व मिल जाता है, तो उसका इंडेक्स परिणाम होगा।

उदाहरण

#include <iostream> using namespace std; int getMinIndex(int arr[], int n){    int index = 0;    for(int i = 1; i<n; i++){       if(arr[i] < arr[index]){          index = i;       }    }    return index; } int countNumberOfRotations(int arr[], int n){    return getMinIndex(arr, n); } int main() {    int arr[] = {15, 17, 1, 2, 6, 11};    int n = sizeof(arr)/sizeof(arr[0]);    cout << "Number of required rotations: " << countNumberOfRotations(arr, n); }

आउटपुट

Number of required rotations: 2

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

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

  1. - C++ में सरणी में एक संख्या की फ्रीक्वेंसी ज्ञात करना

    मान लीजिए हमारे पास एक सरणी है। इसमें n अलग-अलग तत्व हैं। हमें सरणी में एक तत्व की फ्रीक्वेंसी जांचनी है। मान लीजिए A = [5, 12, 26, 5, 3, 4, 15, 5, 8, 4], यदि हम 5 की फ्रीक्वेंसी ढूंढने की कोशिश करते हैं, तो यह 3 होगी। इसे हल करने के लिए, हम सरणी को बाएं से स्कैन करेंगे, यदि तत्व दी गई संख्या के सम

  1. - C++ में सरणी के प्रत्येक तत्व का सरपासर काउंट खोजें

    मान लीजिए एक सरणी A दी गई है। हमें उस सरणी में प्रत्येक तत्व के सरपासर की संख्या ज्ञात करनी है। सरपासर वे बड़े तत्व हैं जो वर्तमान तत्व के दाईं ओर सरणी में मौजूद हैं। मान लीजिए A = {2, 7, 5, 3, 0, 8, 1}, सरपासर हैं {4, 1, 1, 1, 2, 0, 0}, इसलिए 2 के दाईं ओर 4 संख्याएं हैं जो 2 से बड़ी हैं, और इसी नि