সর্বোচ্চ () যথেষ্ট নয়


18

ইন্ট্রো

একটি বন্ধু আজ এই প্রশ্নটি কিছুটা ভিন্ন উপায়ে তুলে ধরেছিল - "একটি [পাইথন] কমান্ড কিছু সংখ্যক বৃহত্তম সংখ্যা নির্ধারণ করতে পারে এবং সেগুলি সমান নয়?"।

যদিও আমরা "একক কমান্ড" এর যুক্তিসঙ্গত সংজ্ঞা অনুযায়ী এটি করার কোনও উপায় খুঁজে পাইনি , আমি ভেবেছিলাম এটি গল্ফের জন্য মজাদার সমস্যা হতে পারে।

 চ্যালেঞ্জ

" পূর্ণসংখ্যার তালিকার সবচেয়ে বড় তালিকাটি যদি-ও-কেবল-যদি তারা সমস্ত সমান না হয় তবে ফিরিয়ে দিন " "

আরো নির্দিষ্টভাবে:

শুধুমাত্র একটি কমা-বিভাজিত পূর্ণসংখ্যার তালিকাযুক্ত একটি স্ট্রিং দেওয়া হয়েছে:

  • যদি সেগুলি সমস্ত সমান হয় তবে রিটার্ন / আউটপুট কিছুই হবে না
  • অন্যথায়, রিটার্ন / আউটপুট বৃহত্তম

বিধি

  • ইনপুট পূর্ণসংখ্যার শুধুমাত্র একটি কমা দ্বারা পৃথক করা তালিকা সম্বলিত একটি স্ট্রিং হতে হবে
  • আউটপুট যেমন ইনপুটে হয় কিছুই (যে কোন ধরনের কোন আউটপুট), অথবা অন্য বৃহত্তম উপাদান ইনপুট থেকে, প্রতিনিধিত্ব থাকতে হবে

এন্ট্রিগুলি একটি সম্পূর্ণ প্রোগ্রাম বা কেবল একটি ফাংশন হতে পারে, যদি আপনি সেগুলি পরীক্ষা করার কোনও উপায় সরবরাহ করেন!

অনুমিতি

  • ধরে নিই ইনপুট তালিকার উপাদানগুলি এক অঙ্কের বেশি হতে পারে তবে বড় (2 32 - 1)
  • ধরুন ইনপুট তালিকার এক মিলিয়নের বেশি উপাদান নেই
  • ধরুন ইনপুটটিতে নেতিবাচক মান অন্তর্ভুক্ত হবে না
  • ধরুন ইনপুট কখনই খালি থাকবে না

সন্দেহ এড়ানোর জন্য, "আরও নির্দিষ্টভাবে" ঠিক পরেই দেওয়া চ্যালেঞ্জের ব্যাখ্যা তার উপরের চ্যালেঞ্জের বিবৃতিটিকে ("বৃহত্তম ফিরিয়ে দিন ...") রোধ করবে।

 উদাহরণ

(1) সমস্ত সমান:

Input: 1,1
Output:

(২) ভিন্নতা:

Input: 1,2
Output: 2

(3) শূন্য !:

Input: 0,0,0,0,0,0,0,1,0,0
Output: 1

(4) এলোমেলো:

Input: 7,3,8,4,8,3,9,4,6,1,3,7,5
Output: 9

(5) বড় সংখ্যা, বৃহত্তর তালিকা:

Input: 627,3894,863,5195,7789,5269,8887,3262,1448,3192
Output: 8887

অতিরিক্ত উদাহরণ:

()) সমস্ত সমান, বৃহত্তর তালিকা:

Input: 7,7,7,7,7,7,7,7,7
Output:

()) সমস্ত সমান, বৃহত্তর তালিকা, বৃহত্তর সংখ্যা:

Input: 61976,61976,61976,61976,61976,61976,61976,61976,61976,61976,61976,61976,61976,61976,61976,61976,61976,61976,61976,61976,61976,61976,61976
Output:

(8) সমান নয়, বৃহত্তর তালিকা, বৃহত্তর সংখ্যা:

Input: 96185,482754,96185,96185,96185,96185,96185,96185,7,96185,96185,96185,96185,96185,96185,96185,96185,96185,96185,96185,96185,96185,96185,96185,96185,961185,96185,96185,96185
Output: 961185

স্কোরিং

এটি তাই code-golf, সংক্ষিপ্ত সংখ্যক বাইটের কোড সহ জয়!


3
তালিকায় সমস্ত সমান মান রয়েছে যখন ত্রুটি ছুঁড়ে ফেলা ঠিক আছে? এবং আমরা কি কিছুই আউটপুট না দিয়ে শূন্য মান (যেমন Noneপাইথন হিসাবে ) আউটপুট দিতে পারি? এছাড়াও, কেন ইনপুটটি তালিকার চেয়ে স্ট্রিং হওয়া উচিত? এবং ইনপুট থেকে প্রকাশিত বৃহত্তম উপাদান
ইনপুটটিতে

15
আমি পূর্ণসংখ্যার অ্যারে / তালিকার জন্য অনুমতি দেওয়ার জন্য ইনপুট প্রয়োজনীয়তাগুলি শিথিল করার পরামর্শ দিই। আমাদের কি নিশ্চিত যে তালিকায় কমপক্ষে 2 টি উপাদান থাকবে? সমস্ত পূর্ণসংখ্যা সমান হলে আমরা কি কিছুর পরিবর্তে একটি সামঞ্জস্যিক, অ-সংখ্যাগত মান আউটপুট করতে পারি?
শেগি

15
একটি পরীক্ষা ক্ষেত্রে যোগ করুন যেখানে সর্বোচ্চ একবারের বেশি, মত দেখা দেয় 7,3,7,2
নিমি

3
আমরা কি কেবল একটি উপাদান দিয়ে একটি পরীক্ষা করতে পারি? এছাড়াও, আমরা কি ইনপুটটিতে একটি পিছনে অন্তর্ভুক্ত করতে পারি ,?
জো কিং

2
তথ্য: এই চ্যালেঞ্জটি স্যান্ডবক্সযুক্ত ছিল। /// ওপির জন্য: যদিও স্যান্ডবক্সটি বেশ নিষ্ক্রিয়, (আমি মনে করি) এটি কেবল একটি সামান্য সমস্যা। সমস্যাটি হ'ল চ্যালেঞ্জ নিয়ে কিছু সমস্যা স্পষ্ট হয় না যদি কেউ কেবল চ্যালেঞ্জটি পড়ে থাকে এবং কেবল তখনই আবিষ্কার করা যায় যখন কেউ এটির সমাধান করে।
ব্যবহারকারী 202729

উত্তর:


8

আর , 50 37 বাইট

-৩৩ বাইটস ধন্যবাদ ডিগেমলএলকে! -13 বাইট রটারনবুলকে ধন্যবাদ!

x=scan(se=",");if(any(diff(x)))max(x)

এটি অনলাইন চেষ্টা করুন!


ইনপুট নেই (বর্তমানে) একটি স্ট্রিং, দুর্ভাগ্যবশত করা থাকতে হবে।
শেজি 0


উফ আমার ধারণা আমার পূর্বের লিঙ্কটি ভুল ছিল! এটি ঠিক হওয়া উচিত, আমি পোস্ট করার উদ্দেশ্যে যা ইচ্ছা করেছি তার সাথে ডিগএএমএল ধারণার সংমিশ্রণ করা উচিত ...
জিউসেপ

3
আমরা সমতার জন্য অ্যারে কীভাবে পরীক্ষা করি তা উন্নত করে 37 বাইট
rturnbull

5

ম্যাথগল্ফ , 5 বাইট

è▀s╞╙

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

è      Read whole input as int array
 ▀     Get unique elements
  s    Sort list
   ╞   Discard from left of array
    ╙  Get maximum of list

এটি কাজ করে কারণ সর্বোচ্চ অপারেটর এবং বাম অপারেটর থেকে বাদ দেওয়া উভয়ই খালি তালিকার জন্য কিছু করে না do ভাল, সর্বাধিক অপারেটর তালিকাটি সরিয়ে দেয় এবং খালি তালিকার জন্য কিছুই ঠেলে না nothing

তালিকা হিসাবে ইনপুট নেওয়া যেতে পারে তবে এটি 4 বাইট হতে পারে।


ইনপুট অবশ্যই কমা দ্বারা পৃথক স্ট্রিং হওয়া উচিত ।
শেগি

1
@ শেগি আমি এটি মিস করেছি। এই মুহুর্তে ম্যাথগল্ফের "চরিত্রের বিভাজন" অপারেটর নেই, তাই এটি সঠিক হয়ে উঠতে কিছুটা সময় লাগবে। আমি দেখব আমি কি করতে পারি.
ম্যাক্সবি

5

পার্ল 6 , 26 23 22 বাইট

-1 বাইট ধন্যবাদ নওহেলহোফকে

{.max if .Set>1}o&EVAL

এটি অনলাইন চেষ্টা করুন!

সবকিছু সমান হলে খালি স্লিপ দেয় Return

ব্যাখ্যা

                o&EVAL  # Eval the string to a list of integers
{              }         # Pass to code block
 .max            # Return the max
      if .Set>1  # If the list converted to a set has more than one element

1
EVALকৌতুক ঝরঝরে হয় এবং আপনি এমনকি একটি বাইট সংরক্ষণ করতে পারবেন o&EVAL
nwellnhof

if +.Setকাজ করবে না ?
ভেন

@ ভেন না, সেটে আমাদের একাধিক উপাদান রয়েছে কিনা তা পরীক্ষা করে দেখতে হবে।
জো কিং

MH, এবং bitwise ~ পার্ল 6 :( 2 বাইট
ভেন

5

জেলি , 4 বাইট

ḟṀE?

একটি কমান্ড লাইন আর্গুমেন্ট (আনকোটেড) হিসাবে ইনপুট গ্রহণ করার একটি সম্পূর্ণ প্রোগ্রাম যা প্রয়োজনীয় আউটপুট প্রিন্ট করে

(মনে রাখবেন এটি এর সাথে সম্পর্কিত: খালি ইনপুট লাইক , একক আইটেম ইনপুট মত 7এবং একাধিক আইটেম ইনপুট যেমন 7,8,7অনুমান করা প্রয়োজন মনে হয়।)

এটি অনলাইন চেষ্টা করুন!

কিভাবে?

ḟṀE? - Full program: if one argument is present it is evaluated using Python
     -                 so 7,8,7 -> [7,8,7], while 7 -> 7
ḟṀE? - Main Link: list or integer OR no argument (in which case an implicit argument of 0)
   ? - if...
  E  - ...condition: all equal? (for any integer E yields 1 since the argument is
     -                           treated as a list like [integer])
ḟ    - ...then: filter discard (since it's undefined the right argument is implicitly 
     -                          equal to the left; both are treated as lists, so this
     -                          yields an empty list)
 Ṁ   - ...else: maximum (again an integer is treated as a list)
     - implicit print (Jelly's representation of an empty list is an empty string
     -                 furthermore no newline is printed in either case)

4

এপিএল (ডায়ালগ ক্লাসিক) , 6 বাইট

⍪⌈/~⌊/

এটি অনলাইন চেষ্টা করুন!

একটি ট্রেন সর্বাধিক ( ⌈/) গণনা ছাড়াই ( ~) মিনিম ( ⌊/) ম্যাট্রিক্সে পরিণত হয়েছে ( )

যদি ইনপুটটিতে কেবল একটি পৃথক উপাদান থাকে, ⌈/~⌊/খালি হবে এবং 0 0 1 ম্যাট্রিক্সটি ফিরিয়ে দেবে যা কিছুই হিসাবে রেন্ডার করে না ers

অন্যথায়, ⌈/~⌊/এটি 1-এলিমেন্ট ভেক্টর হবে এবং এটি হবে 1x1 ম্যাট্রিক্স (একটি স্কেলারের সাথে দৃষ্টিভঙ্গি পৃথকযোগ্য) যাতে সর্বাধিক থাকে




3

পাইথন 2 , 42 41 বাইট

a=input();print('',max(a))[len(set(a))>1]

এটি অনলাইন চেষ্টা করুন!


পিপিসিজিতে স্বাগতম: আমি পাইথন জানি না তবে মনে হচ্ছে এটির তালিকা হিসাবে ইনপুট দরকার। দুর্ভাগ্যক্রমে (এবং অযথা আমার মতামত) স্পেকটি (বর্তমানে) খুব স্পষ্ট যে ইনপুটটি অবশ্যই একটি স্ট্রিং হওয়া উচিত be
শেগি

@ শেগি, ইনপুটটি ফর্মের হলে এই প্রোগ্রামটি কাজ করে element, element, ...। অর্থাত্, এটি বন্ধনীতে আবদ্ধ হতে হবে না।
অর্ণব বোরবোরাহ

1
একটি তালিকা কাজ করে তবে এটি প্রয়োজন হয় না কারণ পাইথন 2-তে inputডিফল্টরূপে evalস্ট্রিন থেকে যে কোনও স্ট্রিং পাস হয়।
অরনাভ বোরবোরাহ

1
40 বাইট । আমি জানি না যে কোনও একটি এলিমেন্টের তালিকার পিছনে থাকতে ,পারে কিনা, যেহেতু আপনার সমাধানের ত্রুটিগুলি যদি ইনপুটটি কেবল একটি একক সংখ্যা হয়
জো কিং

2
@ জোকিং কি এমন কোনও কারণ আছে যা আপনি ইনপুটটি কখনই খালি থাকবে না তাই !=আপনি >এটিকে পরিবর্তন করতে পারেন নি?
nedla2004

3

হাস্কেল , 77 75 61 বাইট

f.read.('[':).(++"]")    
f a=[0|any(/=a!!0+0)a]>>show(maximum a)

এটি অনলাইন চেষ্টা করুন!

('[':).(++"]")একটি স্ট্রিং নেয় (যেমন "1,2,1,3") এবং এটি বন্ধনী অক্ষর ( "[1,2,1,3]") তে আবদ্ধ enc তারপরread স্ট্রিংটিকে পূর্ণসংখ্যার ( [1,2,1,3]) এর তালিকায় পরিণত করে ।

যদি ফলাফলগুলির মধ্যে একটি শূন্য তালিকা হয় তবে ফাংশনটি এই সংক্ষিপ্ততরটিকে ছোট শর্তযুক্ত করার জন্য fব্যবহার করে। তালিকায় এমন কোনও উপাদান রয়েছে যা তার প্রথম উপাদানের সমান নয় কিনা তা পরীক্ষা করে । ( এমনটির প্রয়োজন যা জানে এটির একটি সংখ্যার তালিকার সন্ধান করতে হবে knows) যদি সমস্ত উপাদান সমান হয় তবে এই পরীক্ষার ফলাফল হয় এবং খালি স্ট্রিংটি ফিরে আসে। অন্যথায় , এটি স্ট্রিংতে রূপান্তরিত তালিকার সর্বোচ্চ returnedany(/=a!!0+0)aaa!!0+0readFalseshow(maximum a)


@ নিনি দেখানোর জন্য ধন্যবাদ!
লাইকনি

3

লাল, 81 বাইট

x: split input","forall x[x/1: load x/1]sort x: unique x if 1 <>length? x[last x]

আর সমাধানের মতো, কোডের একটি বিশাল অংশ ইনপুট স্ট্রিং "1,1,2,44,1" পরিচালনা করছে। যদি আমাদের এটি একটি ব্লক হিসাবে থাকতে পারে, যেমন:, x: [1 1 2 44 1]তবে আমরা এটি 41 বাইটে করতে পারি:

sort x: unique x if 1 <>length? x[last x]

4
পিপিসিজিতে আপনাকে স্বাগতম! সমাধানটি যাচাই করার জন্য আমরা সাধারণত কোনও দোভাষীকে একটি লিঙ্কের জন্য অনুরোধ করি এবং ডেনিস, আমাদের মোডগুলির মধ্যে একটি, এটি অনলাইনে চেষ্টা করে সেট আপ করেছে ! শুধু যেমন একটি উদ্দেশ্যে! এমনকি এটি আপনার জন্য আপনার উত্তর ফর্ম্যাট করবে! আশা করি আপনি এখানে সময় কাটাবেন!
জিউসেপ

sort x: unique load replace/all input","" "if 1 <>length? x[last x]67 বাইট জন্য। দুর্ভাগ্যক্রমে inputটিআইওতে কাজ করে না। আপনি যদি এটি একটি মজাদার হয়ে থাকেন তবে এটি টিআইওতে ঠিক ঠিক কাজ করে: 73 বাইট
গ্যালেন ইভানোভ

3

এপিএল (ডায়ালগ ইউনিকোড) , 12 বাইট

পুরো প্রোগ্রাম। স্টিডিন থেকে স্ট্রিংয়ের জন্য প্রম্পট দেয়।

{1≠≢∪⍵:⌈/⍵}⎕

এটি অনলাইন চেষ্টা করুন!

 এক্সপ্রেশনটির জন্য অনুরোধ করুন এবং মূল্যায়ন করুন (কমাগুলি একটি তালিকাতে সংখ্যাগুলি একত্রিত করে)

{} নিম্নলিখিত বেনামে ল্যাম্বদা প্রয়োগ করুন ( যুক্তি; সংখ্যাগুলির তালিকা):

1≠ [যদি] 1 এর থেকে আলাদা হয় ...

 এর ট্যালি…

 অনন্য সংখ্যা ...

 ক্রমতালিকা

: তারপর

⌈/ সর্বোচ্চ প্রদত্ত (লিট। সর্বোচ্চ হ্রাস)…

 ক্রমতালিকা

 [অন্যথায়: কিছুই করবেন না]


1 ≠ ≢∪ এখানে কেবল এটির যুক্তিটি খুঁজে পাওয়া যায় যদি এটির যুক্তিটি একই সংখ্যার পুনরাবৃত্তি নয় তবে এটি 1 1 1 বা 22 নয়। সুতরাং 1 ≠ ≢∪1 1 2 3 3 সত্য 3 ফিরে আসে এমনকি 3 টি অনন্য নয় এবং যদি এটি সত্য হয় তবে সর্বোচ্চ 3 / ⌈ ফিরে আসবে (এমনকি যদি এটির কোনও আউটপুটও ফিরে না আসে)। আমার ত্রুটি কোথায়? বা সম্ভব ':' এর আলাদা অর্থ রয়েছে
রোজলুপি

@ রোসলুপি এমনকি সর্বোচ্চ সংখ্যার পুনরাবৃত্তি, এমনকি পুনরাবৃত্তি থাকলেও আমাদের সর্বোচ্চ ছাপাতে হবে। তালিকার ঠিক এক অনন্য নম্বর থাকলেই আমরা কিছুই প্রিন্ট করি না। ওপিতে শেষ উদাহরণের মামলাটি দেখুন।
Adám

হ্যাঁ আমি সমস্যাটি ভুল করে বুঝতে
পেরেছি

এই কাজ করবে? ⌈/~⌊/
এনজিএন

@ জিএনএন না, সমস্ত উপাদান সমান হলে এটি একটি নতুন লাইন আউটপুট দেয়।
অ্যাডম

3

জাভাস্ক্রিপ্ট (নোড.জেএস) , 49/53 বাইট

আমার আসল সংস্করণ ব্যবহার করে .every() , 53 বাইট

কোনও ফাংশন '' ফিরিয়ে আউটপুট হিসাবে গণনা করে? অবশ্যই এটির উন্নতি হতে পারে ...

s=>(a=s.split`,`).every(e=>a[0]==e)?'':Math.max(...a)

এটি অনলাইন চেষ্টা করুন!


শেগি , 49 বাইট ব্যবহার Set()করে উন্নত সংস্করণ

s=>new Set(a=s.split`,`).size>1?Math.max(...a):``

এটি অনলাইন চেষ্টা করুন!


2
একজন খুব দ্রুত উন্নতি: tio.run/##y0osSyxOLsosKNHNy09J/Z9m@7/...
রোমশ

@ শেগি সুন্দর! আমি সেটটি ব্যবহার শুরু করেছিলাম তবে এটির মতো সংক্ষিপ্ততা পাচ্ছি না
ক্রিস এম

2

নিম , 4 বাইট

𝐐𝐎Ξ𝐠

ব্যাখ্যা:

  Ξ   If
𝐐    all elements are equal
  𝐎  not
      then
   𝐠  get greatest element

এটি অনলাইন চেষ্টা করুন!


2
বর্তমানে, ইনপুটটি অবশ্যই একটি কমা-বিস্মৃত স্ট্রিং এর পূর্ণসংখ্যা হবে তবে আমি জিজ্ঞাসা করেছি যে আমরা এর পরিবর্তে কোনও অ্যারে নিতে পারি কিনা।
শেগি

2

অষ্টক , 28 বাইট

সর্বাধিক (একটি সংখ্যা, যা 1x1 ম্যাট্রিক্স) বা খালি (1x0) ম্যাট্রিক্স প্রদান করে।

@(a)max(a)(1+all(a(1)==a):1)

এটি অনলাইন চেষ্টা করুন!


2
ইনপুটটি কমা দ্বারা পৃথক হওয়া সংখ্যার একটি স্ট্রিং
জো কিং

2

জাপট, 16 বাইট

অপ্রয়োজনীয়ভাবে কঠোর ইনপুট ফর্ম্যাটের জন্য না হলে এটি 9 হবে, কোনও ত্রুটি নিক্ষেপ করলে কোনও কিছুই আউটপুট হিসাবে গণ্য হয় না।

ধরে নিন স্ট্রিংয়ে কমপক্ষে 2 টি পূর্ণসংখ্যা রয়েছে।

q, mn
â ÊÉ?Urw:P

চেষ্টা করে দেখুন


2

কমন লিস্প, ১০২ বাইট

(lambda(x &aux(c(read-from-string(concatenate'string"#.`("x")"))))(or(apply'= c)(princ(apply'max c))))

এটি অনলাইন চেষ্টা করুন!

আকারটি মূলত ডেটা ইনপুট করার কারণে হয়; একটি নিয়মিত তালিকা হিসাবে ইনপুট সহ, দৈর্ঘ্য হ্রাস 46 বাইট:

(lambda(x)(or(apply'= x)(princ(apply'max x))))

2

এক্সপ্যাথ 3.1, 54 বাইট

প্রসঙ্গ আইটেম হিসাবে ইনপুট স্ট্রিং সহ:

let$t:=tokenize(.,',')!xs:int(.)return max($t)[$t!=$t]

আপনি যদি XML স্কিমার নেমস্পেসে "xs" এর চেয়ে সংক্ষিপ্ত উপসর্গ বাঁধতে অনুমতি দেন তবে একটি অক্ষর দ্বারা হ্রাস করা যেতে পারে।

ব্যাখ্যা: ইনপুট স্ট্রিং নেয়, "," বিভাজককে টোকেনাইজ করে, xs:int()প্রতিটি টোকেনকে একটি পূর্ণসংখ্যায় রূপান্তর করতে প্রযোজ্য হয়, সিকোয়েন্সের সর্বাধিক গণনা করে, প্রেডিকেটটি $t!=$tসত্য বলে সর্বাধিক আউটপুট দেয় । যদি A এবং B ক্রম হয় তবে A!=Bযদি সত্য থাকে তবে আইটেমের একটি জোড়া (A থেকে B, B থেকে বি) থাকে যেমনa!=b

যদি ইনপুটটি কমা-বিচ্ছিন্ন স্ট্রিংয়ের পরিবর্তে পূর্ণসংখ্যার ক্রমিক হিসাবে সরবরাহ করা যায় তবে সমাধানটি হ্রাস করে

max($s)[$s!=$s]

(15 বাইট - যা কোনও ভাষার সবচেয়ে সংক্ষিপ্ত সমাধান হতে পারে যা ব্রুভিটির জন্য নকশাকৃত নয়)

দ্রষ্টব্য : এটি "ইনপুটটিতে যেমন উপস্থাপিত হয়" প্রয়োজনীয়তাকে পূরণ করে না - যদি নেতৃস্থানীয় শূন্যগুলির সাথে কোনও পূর্ণসংখ্যা বা ইনপুটটিতে একটি যোগ চিহ্ন থাকে তবে এগুলি হারিয়ে যাবে। আমি সন্দেহ করি যে এটি অন্যান্য অনেকগুলি সমাধানের ক্ষেত্রেও সত্য।


2

K4 , 38 35 বাইট

{$[1=#:t:?:(7h$","\:x)-48;;*:t@>t]}

পরীক্ষার কেস:

q)k){$[1=#:t:?:(7h$","\:x)-48;;*:t@>t]}"1,2,4,4"
,4
q)k){$[1=#:t:?:(7h$","\:x)-48;;*:t@>t]}"4,4,4,4"
q)
q)k){$[1=#:t:?:(7h$","\:x)-48;;*:t@>t]}"7,3,8,4,8,3,9,4,6,1,3,7,5"
,9
q)k){$[1=#:t:?:(7h$","\:x)-48;;*:t@>t]}"7,7,7,7,7,7,7,7,7,7,7,7,7"
q)

টিআইও-তে উপলব্ধ কোনও কে বৈকল্পিকের ক্ষেত্রে আমি খুব সাবলীল নই, সুতরাং কোনও অনলাইন উদাহরণ উপলব্ধ নয়, আমি যদিও এর সাথে সামনে আসার চেষ্টা করব

ব্যাখ্যা

আপনি যদি ভাবছেন যে অন্যদের আগে কেন নির্দিষ্ট অপারেশন করা হয়, কে 4 এর অপারেটর অগ্রাধিকার নেই, এটি পরিবর্তে ডান থেকে বামে ব্যাখ্যা করে (যদিও আপনি অগ্রাধিকারের জন্য বন্ধনী ব্যবহার করতে পারেন)। সেমিকোলন দ্বারা বিভক্ত এক্সপ্রেশন।

   $[expr;`True;`False] is the conditional format

{$[1=#:t:?:(7h$","\:x)-48;;*:t@>t]}
               ","\:x                 //split string on commas
            7h$                       //cast strings to long
                      -48             //they'll be from ascii format, so compensate
         ?:                           //get distinct list      
       t:                             //set list to variable t        
     #:                               //get count of t
   1=                                 //check if count t = 1
                         ;;           //return nothing if true
                             t@>t  //if false, sort t descending
                           *:         //return first value

সম্ভবত আরও গল্ফ করা যেতে পারে, শেষে যে অস্থায়ী সর্বাধিক ফাংশনটি ব্যবহার করার ভক্ত নয়।

সম্পাদনা: আউটপুটে কমাগুলি যদি সমস্যা হয় তবে এটি আরও দুটি বাইট দিয়ে স্থির করা যেতে পারে:

q)k){$[1=#:t:?:(7h$","\:x)-48;;*:,/t@>t]}"1,2,4,4"
4
                                 ,/                 //joins the single element lists into one

মোট 40 ডলারে নিয়ে যাওয়া, তবে সংখ্যার আগে কমাটি হ'ল অর্থ এটি কোনও পরমাণুর বিপরীতে একক উপাদানের তালিকা।


2

পিএইচপি (<= 5.6) 64 74 বাইট

 echo array_count_values($a=split(',',$argn))[$m=max($a)]==count($a)?'':$m;

পাইপ হিসাবে চালান -nRবা এটি অনলাইনে পরীক্ষা করুন

splitপিএইচপি 7 এ সরানো হয়েছে, তবে কয়েকটি সমস্যা সমাধানের জন্য আমাকে 10 যোগ করতে হয়েছিল, তবে এটির পরিবর্তে এটি ব্যবহার করার মতো ছিল explodeযা এই ক্ষেত্রে মোটামুটি সমতুল্য।


Also this doesn't work when there are more than one element with the max value আমি missread If they are all equal, return/output nothingকরা If they are equal, return/output nothingযদি সেখানে আরো তারপর এক আউটপুট খালি রয়েছে, যার অর্থ। যোগ করার পদ্ধতি ==count($a)এটা সংশোধন করা হয়েছে। কারণ array_count_valuesঅ্যারেতে প্রদর্শিত হওয়া সময়ের সংখ্যা গণনা করে, যদি এটি অ্যারের মোট উপাদানের সমান হয় তবে আউটপুট '' অন্যথায় আউটপুট সর্বাধিক
ArtisticPhoenix

1
@ জোকিং - আপনার প্রাক-ঘোষিত ভেরিয়েবলের মাধ্যমে ইনপুট নেওয়া উচিত নয় - এটি স্ট্যান্ডিনের $argnকাছ থেকে নেওয়া এটি স্থির করে নেওয়া হয়েছে (এটি একাধিক গল্ফ উত্তরে ব্যবহৃত হয়েছে) আমি কেবল আমার নয় অন্যান্য ব্যবহারকারীদের উদাহরণ দিতে পারি।
আর্টিস্টিকফিনিক্স


2

05 এ বি 1 ই , 9 8 বাইট

',¡ZsËiõ

-1 বাইট @ কাউবাংঘোলকে ধন্যবাদ

এটি অনলাইনে চেষ্টা করুন বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

',¡        '# Split the (implicit) input by ","
   Z        # Push the maximum (without popping the list)
    s       # Swap so the list is at the top of the stack again
     Ëi     # If all elements are equal:
       õ    #  Push an empty string ""
            # (Implicitly output the top of the stack to STDOUT as result)

1
খুব অনুরূপ সমাধান, তবে আপনি ',¡ZsËiõ1 বাইট সংরক্ষণ করে অন্যটি এড়াতে পারবেন
Cowabunghole

@ কাউয়াবাংহোল স্মার্ট, ধন্যবাদ!
কেভিন ক্রুইজসেন

1

পাইথন 2 , 44 বাইট

k=eval(input())
if~-len(set(k)):print max(k)

এটি অনলাইন চেষ্টা করুন!


আমি evalপাইথনে অনুমান করছি কমা-সীমাবদ্ধ স্ট্রিংটিকে একটি তালিকায় রূপান্তর করে?
শেগি

1
হ্যাঁ; আরও ঠিক একটি tuple (অপরিবর্তনীয় তালিকা)। যদি ইনপুটটি কোনও স্ট্রিং না (যেমন, টিআইও ইনপুট বিভাগে উদ্ধৃতিগুলি বাদ দেওয়া) হয়, তবে একজন কেবলমাত্র ব্যবহার করতে k=input()এবং একই ফলাফল পেতে পারে।
চ্যাস ব্রাউন


1

কাঠকয়লা , 15 বাইট

≔I⪪S,θ¿›⌈θ⌊θI⌈θ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

≔I⪪S,θ

কমাগুলিতে ইনপুট বিভক্ত করুন এবং প্রতিটি মান পূর্ণসংখ্যায় কাস্ট করুন।

¿›⌈θ⌊θ

সর্বাধিক মান ন্যূনতম মানের চেয়ে বড় কিনা তা পরীক্ষা করুন।

I⌈θ

যদি তাই হয় তবে স্ট্রিং এবং মুদ্রণের সর্বাধিক মান castালাই করুন।


1

গণিত, 43 বাইট

If[!Equal@@#,Max@#]&@@#~ImportString~"CSV"&

খাঁটি ফাংশন। ইনপুট হিসাবে কমা-বিভক্ত স্ট্রিং নেয় এবং হয় একটি নম্বর বা প্রদান করে Null। আমি বিশ্বাস করি এটি বৈধ, যেমন Nullগ্রাফিকভাবে প্রদর্শিত হয় না:


1

সি (জিসিসি) , 91 বাইট

M(s)char*s;{long m=atol(s),o,l=0;for(;s=strchr(s,44);o<0?m-=o:0)l|=o=m-atol(++s);s=l?m:-1;}

এটি অনলাইন চেষ্টা করুন!

Degolf

M(s)char*s;{
    long m=atol(s),o,l=0; // Read the first integer from string
    for(;s=strchr(s,44); // Advance pointer to next ','
           o<0?m-=o:0) // End of loop: if difference <0, deduct from max, increasing it to new max.
        l|=o=m-atol(++s); // Read next number, and subtract it from current max. 
                          // Bitwise-OR the difference into the l-variable
    s=l?m:-1; // End of function: if l is non-zero, there were at least two different values.
              // Return -1 if l is zero, otherwise the max value.
}

এর M(char*s)পরিবর্তে M(s)char*s;এবং index()পরিবর্তে পরামর্শ দিনstrchr()
সিলিংক্যাট

1

পাইথ, 7 বাইট

Itl{QeS

এটি অনলাইন চেষ্টা করুন!
সমস্ত পরীক্ষার ক্ষেত্রে (আরও ভাল আউটপুট ফর্ম্যাটের জন্য আলাদা কোড)

পাইথ পাইথনের উপর ভিত্তি করে ব্যবহারকারীর ইনপুটটি সর্বদা স্ট্রিং হিসাবে ব্যাখ্যা করা হয় যা এর পরে যেতে পারে eval() । সমস্ত পাইথ প্রোগ্রাম স্বয়ংক্রিয়ভাবে Q=eval(input())তাদের প্রথম নির্দেশনা হিসাবে চালিত হয়।

ব্যাখ্যা:
Itl{QeS  | Full code
Itl{QeSQ | with implicit variables filled
---------+-------------------------------
I        | If
 t       | one less than
  l      | the length of
   {Q    | the deduplicated input
         | is truthy (!=0),
         | print
     e   | the last element of
      SQ | the sorted input

1

জাভা (জেডিকে) , 101 বাইট

d->{long m=0,c=-1,b;for(var s:d.split(",")){b=new Long(s);c=c<0|c==b?b:0;m=b>m?b:m;}return c>0?"":m;}

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

d->{                            // Function taking a String input
    long m=0,c=-1,b;            // Initialise variables
    for(var s:d.split(",")){    // Split by comma and loop over elements
        b=new Long(s);          // Parse String to Long
        c=c<0                   // If c<0 (i.e. this is the first element)
            |c==b               // ...or c is equal to the current element
            ?b                  // Set c to the current element (all elements are the same so far
            :0;                 // Otherwise set c to zero to denote that list is not all same element  
        m=b>m?b:m;              // Set m to max of b and m
    }
    return c>0?""               // If c is not zero then all elements are the same, return nothing
                 :m;            // Else return max element
}

বোনাস সমাধান!

আমার সর্বাত্মক প্রচেষ্টা সত্ত্বেও আমি রেগেক্স এবং স্ট্রিম ব্যবহার করে এই সমস্যাটি 105 বাইটের চেয়ে কম ব্যবহার করতে পারিনি, তবে আমি সত্যই এর কমনীয়তা পছন্দ করেছি তাই এটি একটি সম্মানজনক উল্লেখ করতে হয়েছিল;

d->d.matches("(.+?)(,\\1)+")?"":java.util.Arrays.stream(d.split(",")).map(Long::new).reduce(0L,Long::max)

আপনার রেগেক্স (মাইনাস দি ?) এবং একটি নিয়মিত লুপ এবং রিটার্ন (স্ট্রিমের পরিবর্তে) এর সংমিশ্রণটি ব্যবহার করে 100 বাইট
কেভিন ক্রুইজসেন

1

এমএটিএল , 15 9 বাইট

U&=?}1MX>

এটি অনলাইন চেষ্টা করুন!
একাধিক টেস্টকেস

আমার এমএটিএল চপগুলি খুব মরিচা হওয়া থেকে বিরত রাখার চেষ্টা করছি!

সম্পাদন করা : সব পরে মরিচা; @ লুইস মেন্ডোকে ধন্যবাদ, 6 বাইট সংরক্ষণ করা হয়েছে।

ব্যাখ্যা

U     % str2num - automatically parses comma-separated strings
&=?   % Are all the values equal? 
}     % if not
1M    % Get the numeric matrix again on the stack
X>    % And find its maximum value.

1

পিপ , 13 বাইট

a^:',MXaRMMNa

এটি অনলাইন চেষ্টা করুন!

এনজিএন এর এপিএল সমাধান থেকে পদ্ধতির ব্যবহার করুন :

     MNa  Minimum of the list
  aRM     Remove it from the list
MX        Take the max of the remaining elements

প্রথম 5 বাইট a^:', কমাগুলিতে ইনপুট স্ট্রিংটিকে বিভক্ত করে।

বিকল্প 13-বাইট সমাধান:

I!$=Ya^',PMXy
a^:',$=a?uMXa
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.