उनकी अधिकतम द्वारा दो सूचियों की तुलना करें


14

गैर-नकारात्मक पूर्णांक की दो अलग - अलग सूचियों को देखते हुए , उस सूची को वापस लौटाएं जिसमें अधिकतम अधिकतम (जैसे [4, 2], [3, 3, 1] -> [4, 2]) है।

यदि वे दोनों एक ही अधिकतम हैं, तो उस सूची को लौटाएं जिसमें इस अधिकतम (उदाहरण [4, 2, 4], [4, 3, 3, 3, 1, 3] -> [4, 2, 4]) के अधिक उदाहरण हैं ।

यदि, इन तुलनाओं के बाद, वे समान हैं, तो समान तुलना करें लेकिन उनके अगले उच्चतम आइटम (जैसे [2, 3, 4, 4], [4, 4, 3, 3, 1] -> [4, 4, 3, 3, 1]) के साथ।

यदि, इन सभी तुलनाओं के बाद, उन्हें अभी भी समान माना जाता है, तो लंबी सूची (जैसे [4, 3, 2, 1, 0], [1, 2, 3, 4] -> [4, 3, 2, 1, 0]) आउटपुट ।

अपने कोड को यथासंभव छोटा करें।

परीक्षण के मामलों

[4, 4, 4, 4, 2, 4], [4, 4, 4, 4, 3, 2] -> [4, 4, 4, 4, 2, 4]
[0], [] -> [0]
[0, 0], [0] -> [0, 0]
[1], [0, 0] -> [1]
[4, 4, 4, 4, 4, 2], [4, 4, 4, 4, 4] -> [4, 4, 4, 4, 4, 2]
[1, 0], [0, 0, 0] -> [1, 0]

जवाबों:





2

हास्केल, 37 35 बाइट्स

import Data.Lists
argmax$sortOn(0-)

इनपुट को दो तत्व सूची के रूप में लिया जाता है, जैसे ( argmax$sortOn(0-) ) [[4,4,4,4,2,4], [4,4,4,4,3,2]]

इनपुट सूची में वह तत्व खोजें जो मानों को नकारने के बाद छांटने के बाद अधिकतम हो (यानी अवरोही क्रम)।


2

साफ , 42 बाइट्स

import StdEnv
s=sortBy(>)
?a b|s a>s b=a=b

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


2
हुह, यह एक दिलचस्प वाक्यविन्यास है। मैं इसे लेता हूं इसका मतलब है " aअगर पैटर्न गार्ड सच है और bअन्यथा" वापस?
लैकोनी

@ लैकोनी येप। क्लीन में पैटर्न गार्ड्स सी-स्टाइल के समान ही सिंटैक्टिक होते हैं if ... else if ..., जहाँ आप उन्हें घोंसला बना सकते हैं / चेन बना सकते हैं। और जैसे आप छोड़ सकते हैं else if(true), आप अंतिम गार्ड की स्थिति को छोड़ सकते हैं। (प्रति तथापि, केवल एक बार लाइन)
Οurous

1

जावास्क्रिप्ट (ईएस 7), 52 बाइट्स

(a,b,m=d=>d.map(n=>N+=1e4**n,N=0)&&N)=>m(a)>m(b)?a:b

यह विधि सरणियों को छांटे बिना काम करती है । इसके बजाय, यह प्रत्येक सरणी के तत्वों के लिए उठाए गए 10,000 की राशि की गणना करता है। सबसे बड़ी राशि उच्चतम स्कोर के साथ सरणी का प्रतिनिधित्व करती है। (यह समाधान मानता है कि न तो सरणी में 10,000 से अधिक तत्व हैं।)

परीक्षण के मामलों





0

भूसी , 3 बाइट्स

►Ö_

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

यह सबमिशन मूल रूप से इनपुट के रूप में सूचियों की दो-तत्व सूची लेता है और अवरोही क्रम ( Ö_) में क्रमबद्ध उनके मूल्यों द्वारा छांटे गए अधिकतम ( ) को पुनः प्राप्त करता है ।



0

जावास्क्रिप्ट (ईएस 6), 98 बाइट्स

(a,b,g=a=>[...a].sort((a,b)=>b-a),h=([a,...b],[c,...d])=>a==c?h(b,d):a<c|!(1/a))=>h(g(a),g(b))?b:a

gरिवर्स ऑर्डर में इसके पैरामीटर की एक प्रति को सॉर्ट करें (चूंकि sortसरणी को उत्परिवर्तित करता है), जबकि hएरेस के एलिमेंट तुलनात्मक रूप से पुनरावर्ती करता है।


0

पर्ल 6 , 17 बाइट्स

*.max(*.sort(-*))

इसका परीक्षण करें (लैम्ब्डा लैम्बडा लैम्बडा)

  • -* लंबोदर जो संख्यात्मक रूप से इनपुट को नकारता है
  • *.sort(-*) लैम्ब्डा जो उपयोग करता है वह तत्वों की तुलना करने के लिए आवेदन करने के परिणामों का उपयोग करता है
  • *.max(*.sort(-*)) लैम्ब्डा जो उन परिणामों का अधिकतम पता लगाता है, और इसका उपयोग यह निर्धारित करने के लिए करता है कि किस इनपुट को वापस करना है।

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