তাদের সর্বোচ্চ দ্বারা দুটি তালিকার তুলনা করুন


14

অ-নেতিবাচক পূর্ণসংখ্যার দুটি পৃথক তালিকা দেওয়া , সর্বাধিক সর্বোচ্চ (উদাঃ [4, 2], [3, 3, 1] -> [4, 2]) তালিকাটি ফিরে আসুন return

যদি উভয়ের উভয়ই একই সর্বাধিক থাকে তবে সেই তালিকাটিতে ফিরে আসুন যাতে এই সর্বোচ্চটির আরও উদাহরণ রয়েছে (উদাঃ [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

জাভাস্ক্রিপ্ট (ES7), 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

জাভাস্ক্রিপ্ট (ES6), 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(-*)) লাম্বদা যা এই ফলাফলগুলির সর্বাধিক সন্ধান করে এবং কোন ইনপুটটি ফিরে আসবে তা নির্ধারণ করতে এটি ব্যবহার করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.