सबसे व्यस्त समय निर्धारित करें


9

यह चुनौती इस ढेर अतिप्रवाह पोस्ट से प्रेरित थी ।

चुनौती

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

उदाहरण के लिए, अगर वहाँ तीन ग्राहकों रहे हैं 8 - 10, 9 - 11, 10 - 12, तो सही जवाब होगा 9 - 11; इस समय अवधि के दौरान, कमरे में दो ग्राहक हैं, जो सबसे बड़ा संभव है।

इनपुट

इनपुट किसी न किसी रूप में जोड़े की सूची होगी। यह या तो 2-ट्यूपल्स की सूची हो सकती है, तत्वों के साथ एक समान लंबाई वाली सूची, आदि, किसी भी उचित इनपुट प्रारूप। समय किसी भी उचित प्रारूप में दिया जा सकता है, 12- या 24- घंटे के समय में। आप आधी रात के समय की संख्या के रूप में भी इनपुट कर सकते हैं।

उत्पादन

आउटपुट किसी न किसी रूप में जोड़े की सूची होनी चाहिए, लेकिन आउटपुट सख्त है। आउटपुट एक फ्लैट सूची नहीं हो सकती है, यह 2-ट्यूपल की सूची या सूचियों की सूची आदि होनी चाहिए। समय किसी भी उचित प्रारूप में, 12- या 24- घंटे के समय में आउटपुट हो सकता है। आप आधी रात के पिछले मिनटों की संख्या के अनुसार समय का उत्पादन भी कर सकते हैं।

उदाहरण

input
output

INPUT
08:00 - 10:00
09:00 - 11:00
10:00 - 12:00
OUTPUT
09:00 - 11:00

INPUT
08:20 - 09:20
09:00 - 09:10
08:00 - 09:30
08:50 - 10:40
OUTPUT
09:00 - 09:10

INPUT
08:00 - 10:00
09:00 - 10:00
09:30 - 11:00
OUTPUT
09:30 - 10:00 # The output is not always in the input list

INPUT
00:00 - 02:00
01:00 - 03:00
04:00 - 06:00
05:00 - 07:00
OUTPUT # This is the expected output for when there are multiple time ranges with the same "business".
01:00 - 02:00
05:00 - 06:00

आप मान सकते हैं कि एक जोड़ी में दूसरी बार हमेशा पहली बार के बाद होगा। आधी रात को समय सीमा नहीं चलेगी।


क्या होगा अगर कई समय सीमाएं हैं?
फल तोड़कर

@ Challenger5 आप कई समय सीमा, इनपुट या आउटपुट से क्या मतलब है?
हाइपरएनुट्रिनो

@ हैपरनेट आउटपुट।
at१

@ चैलेंजर 5 ने एक परीक्षण मामला जोड़ा, धन्यवाद।
हाइपरएनुट्रिनो

है 09:00 - 10:00, 10:00 - 11:00पहला परीक्षण मामले के लिए एक वैध उत्पादन?
लीक

जवाबों:


4

ब्रेकीलॉग , 25 बाइट्स

⟦₂ᵐkᵐcoḅlᵒlᵍthᵐ~c{~k~⟦₂}ᵐ

इसे ऑनलाइन आज़माएं!

इस उत्तर के लिए एक स्पष्ट संरचना है, जो इस तरह से लिखने पर और भी स्पष्ट हो जाती है:

{⟦₂k}ᵐc oḅ lᵒlᵍ thᵐ ~c{~k~⟦₂}ᵐ

दुर्भाग्य से, ब्रेकीलॉग का मूल्यांकन क्रम इसे बनाता है ताकि यदि आप प्रश्न में संरचना का लाभ उठाने की कोशिश करते हैं तो यह कार्यक्रम एक अनंत लूप में चला जाता है। फिर भी, यह निश्चित रूप से एक ब्रैचीलॉग जैसी भाषा की कल्पना करना संभव है जिसमें यह बहुत छोटा है।




0

पायथ , 33 24 बाइट्स

JsrMQcSs-M_BhMBS{.M/JZJ2

इसे ऑनलाइन आज़माएं!


इस के लिए गलत तरीके से व्यवहार करने के लिए प्रकट होता है यह । मैं इसे प्रश्न में एक परीक्षण मामले के रूप में भी जोड़ दूंगा।
हाइपरएनुट्रिनो

@ हाइपरनेट्रिनो तय
लीक नून

खैर, यह एक तेज़ जवाब था। अच्छी नौकरी!
हाइपरएनुट्रिनो

0

गणितज्ञ, 104 बाइट्स

Reduce[#==#~MaxValue~x,x]&@PiecewiseExpand@Tr[Piecewise@{{1,#<=x<#2}}&@@@#]/.{Or->List,a_<=x<b_->{a,b}}&

बेशक, यह मानता है कि कई उच्च शक्ति वाले गणितज्ञ बिल्ट-इन सही हैं ...

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.