पृष्ठभूमि:
मैंने मूल रूप से कल रात इस सवाल को पोस्ट किया, और इसकी अस्पष्टता पर प्रतिक्रिया प्राप्त की। मैंने तब से कई कर्मियों से परामर्श किया है, न केवल समस्या के शब्दों के संबंध में, बल्कि इसकी जटिलता (जो कि O (1) नहीं है) से भी जुड़ी है। यह प्रोग्रामिंग समस्या अमेज़ॅन साक्षात्कार प्रश्न पर एक बुराई स्पिन है।
सवाल:
बेतरतीब ढंग से समवर्ती पूर्णांक [0, 250), 0 से 250 अनन्य के एक स्ट्रिंग को देखते हुए, अनुक्रम में एक नंबर गायब है। आपका काम एक प्रोग्राम लिखना है जो इस लापता संख्या की गणना करेगा। एक के अलावा अनुक्रम में कोई अन्य लापता संख्या नहीं है, और यही वह है जो इस समस्या को इतना कठिन बनाता है, और संभवतः कम्प्यूटेशनल रूप से कठिन है।
छोटे स्ट्रिंग्स पर हाथ से इस समस्या को करना, जैसे कि उदाहरण 1 और 2 नीचे स्पष्ट रूप से बहुत आसान हैं। इसके विपरीत, तीन-अंकीय या चार-अंकीय संख्या वाले अविश्वसनीय बड़े डेटासेट पर एक लापता संख्या की गणना करना अविश्वसनीय रूप से कठिन होगा। इस समस्या के पीछे विचार एक कार्यक्रम का निर्माण करना है जो आपके लिए यह प्रक्रिया करेगा।
महत्वपूर्ण जानकारी:
कल रात जब मैंने इस समस्या को पोस्ट किया तो एक बात जो भ्रामक थी, वह थी: वास्तव में एक लापता संख्या को किस रूप में परिभाषित किया गया है। एक लापता संख्या ऊपर निर्दिष्ट सीमा की संख्या INSIDE है; जरूरी नहीं कि अंक। उदाहरण 3 में, आप देखेंगे कि लापता संख्या 9 है, भले ही यह अनुक्रम में दिखाई दे। 3 स्थान हैं DIGIT 9 [0, 30) की श्रृंखला में दिखाई देगा: "9", "19", और "29"। आपका उद्देश्य इन दोनों के बीच अंतर करना है, और यह पता चलता है कि 9 गायब संख्या (उदाहरण 3 के अंदर) है। दूसरे शब्दों में, मुश्किल हिस्सा यह पता लगाने में निहित है कि अंकों के कौन से अनुक्रम पूर्ण हैं और जो अन्य संख्याओं से संबंधित हैं।
इनपुट:
इनपुट एक स्ट्रिंग एस है, जिसमें पूर्णांक 0 से 249 समावेशी, या 0 से 250 अनन्य (दूसरे शब्दों में, [0, 250) है। ये पूर्णांक, जैसा कि ऊपर कहा गया है, एक यादृच्छिक अनुक्रम बनाने के लिए तले हुए हैं। कोई सीमांकक नहीं हैं ("42, 31, 23, 44"), या पेडिंग 0 (0030762440292-2); समस्याओं के उदाहरण में वर्णित के रूप में कर रहे हैं। यह गारंटी है कि वास्तविक समस्याओं में केवल 1 समाधान है। इनके लिए एकाधिक समाधान की अनुमति नहीं है।
जीत का मानदंड:
जिसके पास सबसे तेज़ और सबसे कम मेमोरी का उपयोग होगा, वह विजेता होगा। चमत्कारी घटना है कि एक समय संबंधों में, कम स्मृति समय ब्रेकर के लिए इस्तेमाल किया जाएगा। यदि आप कर सकते हैं तो बिग ओ को सूचीबद्ध करें!
उदाहरण:
उदाहरण 1 और 2 की श्रेणी [0, 10) है
उदाहरण 3 और 4 की सीमा [0, 30) है
(उदाहरण 1-4 केवल प्रदर्शन के लिए हैं। आपके कार्यक्रम को उन्हें संभालने की आवश्यकता नहीं है।)
उदाहरण 5 की सीमा [0, 250) है
1. 420137659
- Missing number => 8
2. 843216075
- Missing number => 9
3. 2112282526022911192312416102017731561427221884513
- Missing number => 9
4. 229272120623131992528240518810426223161211471711
- Missing number => 15
5. 11395591741893085201244471432361149120556162127165124233106210135320813701207315110246262072142253419410247129611737243218190203156364518617019864222241772384813041175126193134141008211877147192451101968789181153241861671712710899168232150138131195104411520078178584419739178522066640145139388863199146248518022492149187962968112157173132551631441367921221229161208324623423922615218321511111211121975723721911614865611197515810239015418422813742128176166949324015823124214033541416719143625021276351260183210916421672722015510117218224913320919223553222021036912321791591225112512304920418584216981883128105227213107223142169741601798025
- Missing number => 71
Test Data:
Problem 1: 6966410819610521530291368349682309217598570592011872022482018312220241246911298913317419721920718217313718080857232177134232481551020010112519172652031631113791105122116319458153244261582135510090235116139611641267691141679612215222660112127421321901862041827745106522437208362062271684640438174315738135641171699510421015199128239881442242382361212317163149232839233823418915447142162771412092492141987521710917122354156131466216515061812273140130240170972181176179166531781851152178225242192445147229991613515911122223419187862169312013124150672371432051192510724356172282471951381601241518410318414211212870941111833193145123245188102
Problem 2: 14883423514241100511108716621733193121019716422221117630156992324819917158961372915140456921857371883175910701891021877194529067191198226669314940125152431532281961078111412624224113912011621641182322612016512820395482371382385363922471472312072131791925510478122073722091352412491272395020016194195116236186596116374117841971602259812110612913254255615723013185162206245183244806417777130181492211412431591541398312414414582421741482461036761192272120204114346205712198918190242184229286518011471231585109384415021021415522313136146178233133168222201785172212108182276835832151134861116216716910511560240392170208215112173234136317520219
Problem 3: 1342319526198176611201701741948297621621214122224383105148103846820718319098731271611601912137231471099223812820157162671720663139410066179891663131117186249133125172622813593129302325881203242806043154161082051916986441859042111711241041590221248711516546521992257224020174102234138991752117924457143653945184113781031116471120421331506424717816813220023315511422019520918114070163152106248236222396919620277541101222101232171732231122301511263822375920856142187182152451585137352921848164219492411071228936130762461191564196185114910118922611881888513917712153146227193235347537229322521516718014542248813617191531972142714505519240144
Problem 4: 2492402092341949619347401841041875198202182031161577311941257285491521667219229672211881621592451432318618560812361201172382071222352271769922013259915817462189101108056130187233141312197127179205981692121101632221732337196969131822110021512524417548627103506114978204123128181211814236346515430399015513513311152157420112189119277138882021676618323919018013646200114160165350631262167910238144334214230146151171192261653158161213431911401452461159313720613195248191505228186244583455139542924222112226148941682087115610915344641782142472102436810828123731134321131241772242411722251997612923295223701069721187182171471055710784170217851
N
, न कि सिर्फ 250
? / इस 232
मुद्दे के बारे में क्या ? सभी संभावनाएं या कोई एक? मुझे एहसास है कि आप उस मुद्दे के बारे में जानते थे, लेकिन मुझे यह सवाल में अस्पष्ट लगता है। / यदि यह सबसे तेज़-कोड है, तो उन्हें मापने का एक तरीका होना चाहिए। बेशक एक सुपर कंप्यूटर पर दौड़ना पुराने कंप्यूटर पर चलने से अलग है। / क्योंकि किसी ने नहीं कहा कि, - PPCG में आपका स्वागत है!
N
1000 या 10000 तक बढ़ा सकते हैं।