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

सी ++ में क्रमबद्ध सरणी में गुम तत्व

मान लीजिए कि हमारे पास अद्वितीय संख्याओं का एक क्रमबद्ध सरणी A है, हमें सरणी के सबसे बाईं ओर से शुरू होने वाली K-वें लापता संख्या को खोजना होगा। तो अगर सरणी [4,7,9,10], और k =1 की तरह है, तो तत्व 5 होगा।

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

  • n:=सरणी का आकार, निम्न सेट करें:=0 और उच्च:=n – 1

  • यदि अंक [n - 1] - अंक [0] + 1 - n

    • वापसी अंक [एन - 1] + (के - (अंक [एन -1] - अंक [0] + 1 - एन))

  • जबकि कम <उच्च - 1

    • मध्य :=निम्न + (उच्च-निम्न)/2

    • वर्तमान:=मध्य-निम्न + 1

    • अनुपस्थित :=अंक [मध्य] - अंक [निम्न] + 1 - वर्तमान

    • यदि अनुपस्थित है>=k तो उच्च :=मध्य, अन्यथा k को अनुपस्थित से घटाएं, निम्न :=मध्य

  • वापसी संख्या [कम] + k

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

उदाहरण

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   int missingElement(vector<int>& nums, int k) {
      int n = nums.size();
      int low = 0;
      int high = n - 1;
      if(nums[n - 1] - nums[0] + 1 - n < k) return nums[n - 1] + (k
      - ( nums[n - 1] - nums[0] + 1 - n)) ;
      while(low < high - 1){
         int mid = low + (high - low) / 2;
         int present = mid - low + 1;
         int absent = nums[mid] - nums[low] + 1 - present;
         if(absent >= k){
            high = mid;
         }else{
            k -= absent;
            low = mid;
         }
      }
      return nums[low] + k;
   }
};
main(){
   vector<int> v = {4,7,9,10};
   Solution ob;
   cout << (ob.missingElement(v, 1));
}

इनपुट

[4,7,9,10]
1

आउटपुट

5

  1. सी ++ में एक क्रमबद्ध सरणी में पूर्ण विशिष्ट गणना?

    एक सरणी एक ही डेटा प्रकार के तत्वों का एक संग्रह है। एक क्रमबद्ध सरणी एक सरणी है जिसमें तत्वों को आरोही या अवरोही क्रम में संग्रहीत किया जाता है। विशिष्ट गणना उन तत्वों की संख्या है जो समान नहीं हैं। एब्सोल्यूट डिफरेंट काउंट तत्वों के निरपेक्ष मान की अलग गिनती है यानी बिना चिह्न वाले तत्व (अहस्ताक

  1. सी ++ प्रोग्राम सॉर्ट किए गए ऐरे को लागू करने के लिए

    एक क्रमबद्ध सरणी एक सरणी है जिसमें प्रत्येक तत्व को किसी क्रम में क्रमबद्ध किया जाता है जैसे संख्यात्मक, वर्णानुक्रम आदि। संख्यात्मक सरणी को सॉर्ट करने के लिए कई एल्गोरिदम हैं जैसे बबल सॉर्ट, इंसर्शन सॉर्ट, सेलेक्शन सॉर्ट, मर्ज सॉर्ट, क्विक सॉर्ट, ढेर सॉर्ट आदि। चयन सॉर्ट का उपयोग करके सरणी को सॉर्ट

  1. पायथन में लगातार संख्याओं की क्रमबद्ध सरणी में लापता तत्व खोजें

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