Heim Web-Frontend HTML-Tutorial 【TopCoder SRM 157 DIV 1】 Salary 解题报告_html/css_WEB-ITnose

【TopCoder SRM 157 DIV 1】 Salary 解题报告_html/css_WEB-ITnose

Jun 24, 2016 am 11:59 AM
div 报告 Probleme lösen

本来想把原题给贴过来的,后来看到人家有版权保护,在网上搜了一下,好像也没有人在博客中贴过原题,为避免麻烦,就不copy人家原题了。

【题目大意】

公司按照每小时 wage 元给员工发工资,员工上班打卡记录一个时间,下班记录一个时间,时间格式为 "hh:mm:ss"。其中,18:00:00 到 23:59:59 和 00:00:00 到 05:59:59 之间算加班时间,工资为1.5倍。计算工资时,分钟和秒都换算成小时来计算,最终的工资取整数,舍弃后面的小数。

【函数格式】

int howMuch(vector <string> arrival, vector <string> departure, int wage)</string></string>
Nach dem Login kopieren

【注意】

arrival和departure元素个数一样,且arrival[0]

【解题思路】

思路不难,只是时间区间判断比较麻烦,有两个时间关键点06:00:00和18:00:00。

【我的代码】

class Salary {public:	int compareTime(int hh1, int mm1, int ss1, int hh2, int mm2, int ss2) {		if (hh1 > hh2 || (hh1 == hh2 && mm1 > mm2) || (hh1 == hh2 && mm1 == mm2 && ss1 > ss2)) {			return 1;		}		if (hh1 = ss1) {			time += (ss2 - ss1) / 3600.0;		} else {			time += (ss2 + 60 - ss1) / 3600.0;			mm2 -= 1;		}		if (mm2 >= mm1) {			time += (mm2 - mm1) / 60.0;		} else {			time += (mm2 + 60 - mm1) / 60.0;			hh2 -= 1;		}		time += hh2 - hh1;		return time;	}	int howMuch(vector <string> arrival, vector <string> departure, int wage) {		int beginHour, endHour, beginMinute, endMinute, beginSecond, endSecond;		stringstream ss;		double total = 0;		for (int i = 0; i > beginHour;			ss.clear();			ss > beginMinute;			ss.clear();			ss > beginSecond;			string time2 = departure[i];			ss.clear();			ss > endHour;			ss.clear();			ss > endMinute;			ss.clear();			ss > endSecond;			if (compareTime(beginHour, beginMinute, beginSecond, 6, 0, 0) = 0						&& compareTime(endHour, endMinute, endSecond, 18, 0, 0) = 0) {					total += duringTime(beginHour, beginMinute, beginSecond, 6, 0, 0) * wage * 1.5;					total += duringTime(6, 0, 0, 18, 0, 0) * wage;					total += duringTime(18, 0, 0, endHour, endMinute, endSecond) * wage * 1.5;				}			} else if (compareTime(beginHour, beginMinute, beginSecond, 18, 0, 0) = 0) {					total += duringTime(beginHour, beginMinute, beginSecond, 18, 0, 0) * wage;					total += duringTime(18, 0, 0, endHour, endMinute, endSecond) * wage * 1.5;				}			} else {				total += duringTime(beginHour, beginMinute, beginSecond, endHour, endMinute, endSecond) * wage * 1.5;			}		}		return (int)total;	}};</string></string>
Nach dem Login kopieren

首先是字符串转换成时分秒整数值。两个自定义函数功能分别为:比较两个时间点先后,主要是和两个关键时间点06:00:00和18:00:00比较;计算两个时间点之间的小时数。

然后一大段逻辑判断,判断员工工作时间是不是在00:00:00和06:00:00之间、06:00:00和18:00:00之间、18:00:00和00:00:00之间,还是说跨时间段。

由于基础不好,代码写得比较?嗦,欢迎大家改进。


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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Wie man mit CSS erkennt, dass einem Div eine Ecke fehlt Wie man mit CSS erkennt, dass einem Div eine Ecke fehlt Jan 30, 2023 am 09:23 AM

CSS-Methode, um zu erkennen, dass einem Div eine Ecke fehlt: 1. Erstellen Sie eine HTML-Beispieldatei und definieren Sie ein Div. 2. Legen Sie die Hintergrundfarbe für die Breite und Höhe des Div fest. 3. Fügen Sie dem zu löschenden Div eine Pseudoklasse hinzu eine Ecke und setzen Sie die Pseudoklasse auf „Die gleiche Farbe wie die Hintergrundfarbe verwenden“, drehen Sie sie dann um 45 Grad und positionieren Sie sie dann an der Ecke, die entfernt werden muss.

Implementierung eines Browserskripts zur Wortmarkierungsübersetzung basierend auf der ChatGPT-API Implementierung eines Browserskripts zur Wortmarkierungsübersetzung basierend auf der ChatGPT-API May 01, 2023 pm 03:28 PM

Vorwort Seit Kurzem gibt es auf GitHub ein Browser-Skript, das neben der Browser-Plugin auch Polier- und Zusammenfassungsfunktionen unterstützt -ins, es verwendet auch Tauri-Paketierung, abgesehen von der Tatsache, dass Tauri den Rust-Teil verwendet, ist der Browser-Teil immer noch relativ einfach zu implementieren. Heute werden wir ihn manuell implementieren. Über die von openAI bereitgestellte Schnittstelle können wir beispielsweise den folgenden Code kopieren und in der Browserkonsole eine Anfrage initiieren, um die Übersetzung abzuschließen //Beispiel constOPENAI_API_KEY="s

Was ist das Div-Box-Modell? Was ist das Div-Box-Modell? Oct 09, 2023 pm 05:15 PM

Das div-Box-Modell ist ein Modell, das für das Webseiten-Layout verwendet wird. Es behandelt Elemente auf einer Webseite als rechteckige Boxen. Dieses Modell enthält vier Teile: Inhaltsbereich, Innenabstand, Rand und Rand. Der Vorteil des Div-Box-Modells besteht darin, dass es das Layout der Webseite und den Abstand zwischen Elementen leicht steuern kann. Durch Anpassen der Größe des Inhaltsbereichs, des Innenrands, des Rands und des Außenrands können verschiedene Layouteffekte erzielt werden Das Box-Modell bietet außerdem einige Eigenschaften und Methoden, mit denen der Stil und das Verhalten der Box über CSS und JavaScript dynamisch geändert werden können.

Was ist der Unterschied zwischen iframe und div? Was ist der Unterschied zwischen iframe und div? Aug 28, 2023 am 11:46 AM

Der Unterschied zwischen iframe und div besteht darin, dass iframe hauptsächlich zum Einführen externer Inhalte verwendet wird, die Inhalte von anderen Websites laden oder eine Webseite in mehrere Bereiche unterteilen können. Jeder Bereich verfügt über einen eigenen unabhängigen Browsing-Kontext, während div hauptsächlich zum Unterteilen von und verwendet wird Organisieren Sie den Inhaltsblock zur Layout- und Stilkontrolle.

Was sind die Unterschiede zwischen div und span? Was sind die Unterschiede zwischen div und span? Nov 02, 2023 pm 02:29 PM

Die Unterschiede sind: 1. div ist ein Element auf Blockebene und span ist ein Inline-Element. 2. div belegt automatisch eine Zeile, während span nicht automatisch umgebrochen wird. 3. div wird zum Umschließen größerer Strukturen und Layouts verwendet span wird zum Umschließen von Text oder anderen Inline-Elementen verwendet. 4. div kann andere Elemente auf Blockebene und Inline-Elemente enthalten, und span kann andere Inline-Elemente enthalten.

MySQL vs. Oracle: Vergleich der Analyse- und Reporting-Unterstützung MySQL vs. Oracle: Vergleich der Analyse- und Reporting-Unterstützung Jul 12, 2023 pm 07:37 PM

MySQL und Oracle: Vergleich der Unterstützung für Analyse- und Berichtsfunktionen In der modernen datengesteuerten Welt steigt mit dem stetigen Wachstum der Unternehmensdaten auch die Nachfrage nach Datenanalyse- und Berichtsfunktionen. Als die beiden beliebtesten relationalen Datenbankverwaltungssysteme (RDBMS) verfügen MySQL und Oracle in dieser Hinsicht über eine hohe Supportleistung. In diesem Artikel werden sie hinsichtlich ihrer Unterstützung für Datenanalyse- und Berichtsfunktionen verglichen und die Unterschiede anhand von Codebeispielen demonstriert. Werfen wir zunächst einen Blick auf die Datenanalyse von MySQL

In diesem Artikel erfahren Sie, wie Sie mit ChatGPT schnell einen Bericht schreiben In diesem Artikel erfahren Sie, wie Sie mit ChatGPT schnell einen Bericht schreiben May 14, 2023 pm 04:04 PM

In diesem Artikel wird der gesamte Prozess des Trainings von ChatGPT (der neuesten GPT-4-Modellversion) und der Erstellung von Berichten erläutert. Außerdem werden die häufigen Probleme bei der Verwendung von ChatGPT erläutert und erläutert, wie ChatGPT zur Maximierung der Lern- und Arbeitseffizienz verwendet werden kann. Im Folgenden wird der gesamte Prozess der Erstellung eines KI-Sicherheitsberichts beschrieben. Auswahl von Infrastrukturthemen Eine qualitativ hochwertige Themenauswahl kann akademischen Forschern dabei helfen, den Einstiegspunkt des Berichts schnell zu bestimmen, den Lesern dabei zu helfen, das Hauptthema des Berichts zu erfassen, und dem gesamten Bericht eine klarere Struktur und Logik zu verleihen. Indem ChatGPT den Hintergrund des Berichts vorstellt oder Schlüsselwörter und einen Überblick bereitstellt, kann ChatGPT in wenigen Sekunden Themenauswahlen als Referenz für Forscher generieren. Wenn wir Fragen stellen, können wir ChatGPT bitten, mehrere Themenauswahlmöglichkeiten gleichzeitig zu generieren, was hilfreich ist

jQuery-Tipps: Beherrschen Sie das Hinzufügen von Tags in Divs jQuery-Tipps: Beherrschen Sie das Hinzufügen von Tags in Divs Feb 23, 2024 pm 01:51 PM

Titel: jQuery-Tipps: Beherrschen Sie die Methode zum Hinzufügen von Tags zu Divs. In der Webentwicklung stoßen wir häufig auf Situationen, in denen wir der Seite dynamisch Tags hinzufügen müssen. Sie können jQuery verwenden, um DOM-Elemente einfach zu bearbeiten und schnelle Funktionen zum Hinzufügen von Beschriftungen zu erreichen. In diesem Artikel wird erläutert, wie Sie mit jQuery Tags in Divs hinzufügen und spezifische Codebeispiele anhängen. 1. Vorbereitungsarbeiten Bevor Sie jQuery verwenden, müssen Sie die jQuery-Bibliothek auf der Seite einführen. Sie können sie über einen CDN-Link einführen oder auf dieser Seite herunterladen.

See all articles