Inhaltsverzeichnis
Beispiel Beispiel
Geben Sie 2 ein
Erklärung
Methode
Beispiel
Ausgabe
Zeitliche und räumliche Komplexität
Fazit
Heim Backend-Entwicklung C++ Maximieren Sie die fehlenden Werte innerhalb eines bestimmten Zeitraums im Format HH:MM

Maximieren Sie die fehlenden Werte innerhalb eines bestimmten Zeitraums im Format HH:MM

Sep 07, 2023 pm 05:41 PM
时间限制 Fehlende Werte maximieren hh:mm-Format

Maximieren Sie die fehlenden Werte innerhalb eines bestimmten Zeitraums im Format HH:MM

Stellt die angegebene Zeichenfolge der Länge fünf als Zeitangabe im HH:MM-Format dar. Die Zeichenfolge kann einige „?“ enthalten und wir müssen sie durch eine beliebige Zahl ersetzen, damit das Ergebnis eine gültige Zeit und wahrscheinlich die größtmögliche Zeit ist. Darüber hinaus sind die angegebenen String-Nummern gültig und das „:“ erscheint an der genauen Position des Strings. Wir werden zuerst Brute-Force-Methoden und dann effiziente Methoden verwenden.

Beispiel Beispiel

Geben Sie 1 ein

Given string: 12:5?
Output: 12:59
Nach dem Login kopieren
Die chinesische Übersetzung von

Erklärung

lautet:

Erklärung

Wir haben nur einen Platz zu besetzen und die maximale Zeit, die wir bekommen können, ist 12:59.

Geben Sie 2 ein

Given string: ?0:?9
Output: 20:59
Nach dem Login kopieren
Die chinesische Übersetzung von

Erklärung

lautet:

Erklärung

Wir haben hier zwei freie Plätze, zunächst konzentrieren wir uns auf den Stundenteil, wir haben drei Optionen 0, 1 und 2, um sie zu füllen. Für den Minutenteil haben wir die Wahl zwischen 0 und 5, zur Maximierung können wir 5 eingeben.

Methode

Wir haben uns Beispiele angesehen. Schauen wir uns nun die verschiedenen Arten von Situationen an, mit denen wir konfrontiert sein könnten −

  • Wir haben zwei Teile der Zeichenfolge, den Stundenteil und den Minutenteil.

  • Der Stundenteil reicht von 0 bis 23 und der Minutenteil reicht von 0 bis 59.

  • Im Stundenteil gibt es noch mehr Situationen−

    • ‘x?’ wobei x 0, 1 und 2 sein kann. Für 0 können wir 0 als beste Wahl wählen, für 1 können wir 9 als beste Wahl wählen und für 2 können wir 3 als beste Wahl wählen.

    • '?x', wobei x zwischen 0 und 9 liegen kann. Wenn x im Bereich von 0 bis 3 liegt, können wir es durch 2 ersetzen, andernfalls ist 1 das Beste.

    • ‘??’ Da wir maximieren müssen, ersetzen wir es durch 23.

  • Besprechungsprotokoll, einige haben weitere Fälle −

    • ‘x?’ wobei x im Bereich von 0 bis 5 liegen kann. 9 wäre unsere beste Wahl, um „?“ zu ersetzen.

    • ‘?x‘ wobei x im Bereich von 0 bis 9 liegen kann. 5 wäre unsere beste Wahl, um „?“ zu ersetzen.

    • "??" weil wir es maximieren müssen und es dann durch 59 ersetzen.

Werfen wir einen Blick auf den Code, der die oben genannten Schritte implementiert –

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

#include <iostream>
using namespace std;
// function to replace hours
string replaceHours(string s){
   if(s[0] == '?' && s[1] == '?'){
      //Both hour characters are '?'
      // replace with the maximum hour we can achieve 
      s[0] = '2';
      s[1] = '3';
   }
   else if(s[0] == '?'){
      // if the second number of hours is in the range 0 to 3
      // replace by 2
      if(s[1] < 4){
         s[0] = '2';
      }
      else{
         s[0] = '1'; // otherwise replace by one 
      }
   }
   else if(s[1] == '?'){
      // if the first character is '2' we can go only upto 3
      if(s[0] == '2'){
         s[1] = '3';
      }
      else{
         s[1] = '9'; // else we can go for 9 
      }
   }
   return s;
}
// function to replace minutes
string replaceMinutes(string s){
   if(s[3] == '?' && s[4] == '?'){
      // both minutes characters are '?'
      // replace with maximum minutes we can acheive 
      s[3] = '5';
      s[4] = '9';
   }
   else if(s[3] == '?'){
      // we can maximum get 5 here 
      s[3] = '5';
   }
   else if(s[4] == '?'){
      // we can get maximum 9 here
      s[4] = '9';
   }
   return s;
}
int main(){
   string str = "2?:3?"; // given string 
   // calling the function for updation of the minutes 
   str = replaceMinutes(str);
   // calling to the function for updation of the hours
   str = replaceHours(str);
   // printing the final answer
   cout<<"The maximum time we can get by replacing ? is: "<< str<<endl;
   return 0;
}
Nach dem Login kopieren

Ausgabe

The maximum time we can get by replacing ? is: 23:39
Nach dem Login kopieren

Zeitliche und räumliche Komplexität

Die zeitliche Komplexität des obigen Codes ist O(1) oder konstant, da wir keine Schleifen oder rekursiven Aufrufe verwenden, sondern nur die If-Else-Bedingungen prüfen

Die Speicherplatzkomplexität des obigen Codes beträgt O(1), da wir keinen zusätzlichen Speicherplatz verwenden. Außerdem beträgt die Größe der von uns übergebenen Zeichenfolge für diese Funktion immer einen festen Wert von 5.

Hinweis: Um den Code schöner oder lesbarer zu machen, können Sie switch-Anweisungen verwenden. Sie haben keinen Einfluss auf die zeitliche oder räumliche Komplexität und machen das Lesen effizienter.

Auch das Zurückverfolgen und erneute Überprüfen ist eine Lösung, aber dies prüft jeden Fall und ist hier nicht effizient umzusetzen.

Fazit

In diesem Tutorial erhalten wir eine Zeichenfolge, die die Zeit im 24-Stunden-Format darstellt. Es gibt einige „?“ in der Zeichenfolge, die ersetzt werden müssen, um die maximal gültige Zeit zu erhalten, und die Zeichen in der Zeichenfolge verweisen garantiert immer auf die gültige Zeit. Wir haben eine if-else-Bedingung und zwei Funktionen verwendet, um das „?“ durch den entsprechenden Fall zu ersetzen. Da wir keine Schleifen oder rekursiven Funktionen verwenden, ist die zeitliche und räumliche Komplexität des obigen Codes konstant.

Das obige ist der detaillierte Inhalt vonMaximieren Sie die fehlenden Werte innerhalb eines bestimmten Zeitraums im Format HH:MM. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert? Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert? Mar 03, 2025 pm 05:52 PM

In diesem Artikel werden die Funktionstypen zur Rückgabe von Funktionen (int, float, char usw.), abgeleitet (Arrays, Zeiger, Strukturen) und Hohlraumtypen enthält. Der Compiler bestimmt den Rückgabetyp über die Funktionserklärung und die Rückgabeerklärung unter der Durchsetzung

GULC: C -Bibliothek von Grund auf neu gebaut GULC: C -Bibliothek von Grund auf neu gebaut Mar 03, 2025 pm 05:46 PM

GULC ist eine Hochleistungs-C-Bibliothek, die minimale Overheads, aggressive Einbeziehung und Compiler-Optimierung priorisiert. Ideal für leistungskritische Anwendungen wie Hochfrequenzhandel und eingebettete Systeme, sein Design betont die Einfachheit, Modul

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die? Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die? Mar 03, 2025 pm 05:53 PM

Dieser Artikel erläutert die C -Funktionserklärung im Vergleich zu Definition, Argumentübergabe (nach Wert und Zeiger), Rückgabetwerten und gemeinsamen Fallstricken wie Speicherlecks und Typenfehlanpassungen. Es betont die Bedeutung von Erklärungen für Modularität und Provi

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte Mar 03, 2025 pm 05:53 PM

In diesem Artikel wird die C -Funktion für die String -Fallkonvertierung beschrieben. Es erklärt mit toupper () und tolower () aus ctype.h, iteriert durch Saiten und Handhabung von Null -Terminatoren. Häufige Fallstricke wie das Vergessen von ctype.h und das Modifizieren von String -Literalen sind

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher? Wo ist der Rückgabewert der C -Sprachfunktion im Speicher? Mar 03, 2025 pm 05:51 PM

Dieser Artikel untersucht die Speicher des C -Funktionsrückgabewerts. Kleine Renditewerte werden in der Regel in Registern für Geschwindigkeit gespeichert. Größere Werte können Zeiger zum Speicher verwenden (Stapel oder Heap), die die Lebensdauer beeinflussen und die manuelle Speicherverwaltung erfordern. Direkt ACC

eindeutiger Gebrauch und Phrasenfreigabe eindeutiger Gebrauch und Phrasenfreigabe Mar 03, 2025 pm 05:51 PM

Dieser Artikel analysiert die vielfältigen Verwendungen des Adjektivs "Unterscheidet", die seine grammatikalischen Funktionen, gemeinsame Phrasen (z. B. "unterscheidet sich von" "deutlich anders") und nuancierte Anwendung in formalen vs. informellen Anwendung

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)? Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)? Mar 12, 2025 pm 04:50 PM

In diesem Artikel werden die C -Standard -Vorlagenbibliothek (STL) erläutert, die sich auf seine Kernkomponenten konzentriert: Container, Iteratoren, Algorithmen und Funktoren. Es wird beschrieben, wie diese interagieren, um die generische Programmierung, die Verbesserung der Codeeffizienz und die Lesbarkeit t zu ermöglichen

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient? Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient? Mar 12, 2025 pm 04:52 PM

Dieser Artikel beschreibt die effiziente Verwendung von STL -Algorithmus in c. Es betont die Auswahl der Datenstruktur (Vektoren vs. Listen), Algorithmus -Komplexitätsanalyse (z. B. std :: sortieren vs. std :: partial_sort), Iteratoranwendungen und parallele Ausführung. Häufige Fallstricke wie

See all articles