Heim > Artikel > Backend-Entwicklung > C++-Programm: Ermitteln Sie die Anzahl der sichtbaren Boxen, nachdem Sie eine Box in eine andere Box platziert haben
Um ein Problem zu lösen, erhalten wir ein Array mit den Abmessungen der Box. Jetzt haben wir eine Bedingung: Wenn die Größe der großen Kiste mindestens doppelt so groß ist wie die der kleinen Kiste, können wir die kleine Kiste in die große Kiste legen. Nun müssen wir beispielsweise ermitteln, wie viele sichtbare Boxen es gibt.
Input : arr[] = { 1, 3, 4, 5 } Output : 3 Put a box of size 1 in the box of size 3. Input : arr[] = { 4, 2, 1, 8 } Output : 1
Bei diesem Problem besteht unser Ansatz darin, das Array nach und nach zu sortieren. Wir schieben nun das Element in die Warteschlange. Im weiteren Verlauf prüfen wir, ob das aktuelle Element größer oder gleich der doppelten Größe des Elements am Anfang der Warteschlange ist. Wenn dies der Fall ist, wird das vorherige Element angezeigt. Zum Schluss schieben wir das aktuelle Element in die Warteschlange. Unsere Antwort wird die Größe der Warteschlange am Ende sein.
#include <bits/stdc++.h> using namespace std; int main(){ int arr[] = { 1, 2, 3, 4, 5, 6 }; // given array containing the size of our boxes int n = sizeof(arr) / sizeof(arr[0]); // size of our array queue<int> q; sort(arr, arr + n); // sorting our array q.push(arr[0]); // pushing the smallest element in the front for (int i = 1; i < n; i++) { // traversing the array int curr = q.front(); // current element if (arr[i] >= 2 * curr) // if the size of the current box is greater than twice // of the box in front so we pop the front q.pop(); q.push(arr[i]); // pushing the current element in the queue } cout << q.size() << "\n"; // our answer return 0; }
3
In diesem Tutorial haben wir das Problem gelöst, die Anzahl der sichtbaren Boxen zu ermitteln, nachdem wir eine Box in eine andere Box gelegt haben. Wir haben auch das C++-Programm für dieses Problem und die vollständige (generische) Methode zur Lösung gelernt. Wir können das gleiche Programm in anderen Sprachen wie C, Java, Python und anderen Sprachen schreiben. Wir hoffen, dass Sie dieses Tutorial hilfreich fanden.
Das obige ist der detaillierte Inhalt vonC++-Programm: Ermitteln Sie die Anzahl der sichtbaren Boxen, nachdem Sie eine Box in eine andere Box platziert haben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!