W के अंकों के H ग्रिड द्वारा सबसे बड़ा N अंक संख्या ज्ञात करें


25

एक प्रोग्राम या फ़ंक्शन लिखें जो चौड़ाई डब्ल्यू और ऊंचाई एच (जो भी सकारात्मक पूर्णांक हैं) के साथ एक सकारात्मक पूर्णांक एन और दशमलव अंकों (0 से 9) की ग्रिड में लेता है। आप मान सकते हैं कि N, W और H के बड़े से कम या बराबर होगा।

सामान्य रीडिंग ऑर्डर या रिवर्स में लिखे गए सबसे बड़े सन्निहित एन अंकों की संख्या को क्षैतिज या लंबवत रूप से प्रिंट करें या लौटाएं।

  • अंकों की विकर्ण रेखाओं पर विचार नहीं किया जाता है।
  • ग्रिड चारों ओर नहीं लिपटता है, यानी इसमें आवधिक सीमाएं नहीं होती हैं।

उदाहरण के लिए, 3 × 3 ग्रिड

928
313
049

होता 9एन = 1 के लिए उत्पादन, के रूप में 94एन = 2 के लिए आउटपुट के रूप में, और 940एन = 3 के लिए उत्पादन के रूप में।

4 × 3 ग्रिड

7423
1531
6810

8N = 1 के लिए आउटपुट के रूप में होगा , 86N = 2 के लिए, 854N = 3 के लिए, और 7423N = 4 के लिए।

3 × 3 ग्रिड

000
010
000

1एन = 1 के लिए आउटपुट होगा , और 10एन = 2 और एन = 3 के लिए ( 010एन = 3 के लिए भी मान्य है)।

1 × 1 ग्रिड

0

0N = 1 के लिए आउटपुट होगा ।

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

यह , इसलिए बाइट्स में सबसे छोटा कोड जीतता है, लेकिन मैं जवाब देने के लिए ब्राउनी पॉइंट (यानी अधिक संभावना upvotes) भी दूंगा जो दिखा सकता है कि उनका एल्गोरिथ्म कम्प्यूटेशनल रूप से कुशल है।


1
क्या हमें किसी अग्रणी शून्य को छापने की अनुमति है?
PurkkaKoodari

@ Pietu1998 "यदि वे ग्रिड का हिस्सा थे, तो उत्पादन में अग्रणी शून्य की अनुमति है।"
केल्विन के शौक

जवाबों:


0

पायथ, 22 19 बाइट्स

जेक्यूब के लिए 3 बाइट्स धन्यवाद।

seSs.:RQ.n,L_MdCB.z

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

यदि हमें अग्रणी शून्य प्रिंट करने की अनुमति है, तो कोड 18 बाइट्स है:

eSs.:RQ.n,L_MdCB.z

एक पूर्णांक के लिए अग्रणी शून्य के साथ एक स्ट्रिंग परिवर्तित करने के साथ पूरा किया जा सकता है s
जकूबे

9

CJam, 39 36 35 34 बाइट्स

qN/)i\[{zW%_}4*]ff{_,@e<ew:i}e_:e>

बस जल्दी से, @ डेनिस जागने से पहले: पी

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

व्याख्या

मूल एल्गोरिथ्म ग्रिड के सभी चार घुमावों को लेना है और प्रत्येक पंक्ति को लंबाई के टुकड़े N(या पंक्ति की लंबाई, जो भी छोटा हो) में विभाजित करना है । फिर चूजों को चींटियों में परिवर्तित करें और सबसे बड़ा लें।

qN/             Split input by newlines, giving an array of lines
)i\             Drop N from the array and put at bottom
[        ]      Wrap in array...
 {    }4*         Perform 4 times...
  zW%_              Rotate grid anticlockwise and push a copy
                Note that this gives an array of 5 grids [CCW1 CCW2 CCW3 CCW4 CCW4]
ff{         }   For each grid row, mapping with N as an extra parameter...
   _,             Push length of row
     @e<          Take min with N
        ew        Split into chunks
          :i      Convert to ints
e_              Flatten that array
:e>             Take cumulative max

जिज्ञासा से बाहर, fewकुछ विशेष करता है, या यह तीन अलग-अलग कमांड है?
ETHproductions

3
@ETHproductions यह वास्तव में ऑपरेटर ने "अतिरिक्त पैरामीटर के साथ मानचित्र" ewका उपयोग करके लागू किया है f। उदाहरण के लिए, में ["abcd" "efgh"] 2 fewपरिणाम [["ab" "bc" "cd"] ["ef" "fg" "gh"]]
Sp3000

गोटचा :) हालांकि यह एक दिलचस्प संयोग है।
ETHproductions

केवल मुद्दा यह है कि, जब @ डेनिस जागता है, तो बाकी सभी लोग वैसे भी हार जाते हैं। ;)
kirbyfan64sos

-2

कारटून

अभी तक अंतिम जवाब नहीं है लेकिन यह शायद इस तरह काम करेगा:

blsq ) "7423\n1531\n6810"ln)XXJ)\[jtp)\[_+J)<-_+{3.+ti}m[>]
854
blsq ) "7423\n1531\n6810"ln)XXJ)\[jtp)\[_+J)<-_+{4.+ti}m[>]
7423

एन और ग्रिड को कैसे दिया जाता है?


जब तक यह काम नहीं करता तब तक आम तौर पर जवाब पोस्ट करने के लिए इंतजार करना चाहिए। ओपी के लिए कोई भी प्रश्न पोस्ट पर टिप्पणी के रूप में दिया जाना चाहिए।
एलेक्स ए।

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