এটি কি একটি ফাংশন?


47

(key, value)জোড়ার একটি তালিকা দেওয়া , এটি কোনও ফাংশনকে প্রতিনিধিত্ব করে কিনা তা নির্ধারণ করুন, যার অর্থ প্রতিটি কী মানচিত্রকে একটি সামঞ্জস্যপূর্ণ মান হিসাবে চিহ্নিত করা হবে। অন্য কথায়, যখনই দুটি এন্ট্রিগুলির সমান কী থাকে, তাদের অবশ্যই সমান মান থাকতে হবে। বারবার এন্ট্রি ঠিক আছে।

উদাহরণ স্বরূপ:

# Not a function: 3 maps to both 1 and 6
[(3,1), (2,5), (3,6)]

# Function: It's OK that (3,5) is listed twice, and that both 6 and 4 both map to 4
[(3,5), (3,5), (6,4), (4,4)]

ইনপুট: একটি ক্রম আদেশ (key, value)9 ডিজিটের 1 ব্যবহার আপনি একটি নির্দিষ্ট ক্রম প্রয়োজন হয় না জোড়া। আপনি বিকল্পভাবে কী তালিকা এবং মান তালিকাকে আলাদা ইনপুট হিসাবে নিতে পারেন।

আউটপুট: ফাংশনগুলির জন্য একটি সামঞ্জস্যপূর্ণ মান এবং অ-কার্যকারিতার জন্য পৃথক ধারাবাহিক মান।

পরীক্ষার কেস: প্রথম 5 ইনপুটগুলি ফাংশন হয়, শেষ 5 হয় না।

[(3, 5), (3, 5), (6, 4), (4, 4)]
[(9, 4), (1, 4), (2, 4)]
[]
[(1, 1)]
[(1, 2), (2, 1)]

[(3, 1), (2, 5), (3, 6)]
[(1, 2), (2, 1), (5, 2), (1, 2), (2, 5)]
[(8, 8), (8, 8), (8, 9), (8, 9)]
[(1, 2), (1, 3), (1, 4)]
[(1, 2), (1, 3), (2, 3), (2, 4)]

এখানে সেগুলি ইনপুটগুলির দুটি তালিকা হিসাবে রয়েছে:

[[(3, 5), (3, 5), (6, 4), (4, 4)], [(9, 4), (1, 4), (2, 4)], [], [(1, 1)], [(1, 2), (2, 1)]]
[[(3, 1), (2, 5), (3, 6)], [(1, 2), (2, 1), (5, 2), (1, 2), (2, 5)], [(8, 8), (8, 8), (8, 9), (8, 9)], [(1, 2), (1, 3), (1, 4)], [(1, 2), (1, 3), (2, 3), (2, 4)]]

লিডারবোর্ড:


surjective ফাংশন?
পোকে পোকে দিন

@ পোক এটি surjative হতে হবে না।
xnor

ইনপুট কি সমান দৈর্ঘ্যের দুটি তালিকা হতে পারে, মানগুলির জন্য কীগুলির জন্য একটি?
ক্যালভিনের শখ 21

2
(key,value)জোড়গুলি যেমন উল্টে দেওয়া ঠিক হয় তেমনি (value,key)? আমি যদি আমার উত্তরটি বন্ধ করে দিই তবে কয়েকটা বাইট শেভ করতে পারি।
ymbirtt

1
@ এম্বিটার্ট হ্যাঁ, আপনি জোড় দুটি অর্ডারে রাখতে পারেন।
xnor

উত্তর:


37

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

lambda x:len(dict(x))==len(set(x))

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

ইনপুট থেকে একটি অভিধান এবং একটি সেট তৈরি করে এবং তাদের দৈর্ঘ্যের তুলনা করে।
অভিধানে নকল কী থাকতে পারে না, সুতরাং সমস্ত অবৈধ (এবং পুনরাবৃত্তি) মানগুলি সরানো হবে।


5
পাইথন 3, 30 বাইট:lambda x:not dict(x).items()^x
Veedrac

21

হাস্কেল, 36 বাইট

f x=and[v==n|(k,v)<-x,(m,n)<-x,k==m]

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

বাইরের (-> (k,v)) এবং অভ্যন্তরীণ (-> (m,n)) জোড়গুলির উপরে লুপ করুন এবং যখনই k==m, এর সত্য মানটি সংগ্রহ করুন v==n। সব সত্য কিনা তা পরীক্ষা করে দেখুন।


আপনি খুব দ্রুত! : /
flawr

18

ব্র্যাচল্যাগ , 5 4 বাইট

dhᵐ≠

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

পুরো প্রোগ্রাম। আমি যতদূর বলতে পারি, এটি অন্যান্য অন্যান্য গল্ফিং ভাষাগুলিকে মারধর করার কারণটি হ'ল ব্র্যাচল্যাগের একটি বিল্টিন, অন্যদিকে অন্যান্য গল্ফিং ভাষাগুলির বেশিরভাগেই এটি সংশ্লেষিত করা দরকার।

ব্যাখ্যা

dhᵐ≠
d     On the list of all unique elements of {the input},
 h    take the first element
  ᵐ     of each of those elements
   ≠  and assert that all those elements are different

একটি সম্পূর্ণ প্রোগ্রাম হিসাবে, আমরা trueযদি দৃser়তা সফল হয়, বা falseএটি ব্যর্থ হয়।



9

রেটিনা , 25 বাইট

1`({\d+,)(\d+}).*\1(?!\2)

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

ইনপুট ফর্ম্যাট হয় {k,v},{k,v},...0ফাংশনগুলির জন্য এবং 1অ-কার্যকারিতার জন্য মুদ্রণ । আমি ইনপুট ফর্ম্যাটে কমাগুলির পরিবর্তে লাইনফিড ব্যবহার করে দুটি বাইট সংরক্ষণ করতে পারতাম, তবে তা গণ্ডগোল হয়েছে।


আমি বিশ্বাস করি এটি কমপক্ষে প্রযুক্তিগত দিক থেকে "গম্ভীরভাবে ওয়াক" হিসাবে যোগ্যতা অর্জন করেছে।
FryAmTheEggman

8

ব্র্যাচল্যাগ , 13 বাইট

¬{⊇Ċhᵐ=∧Ċtᵐ≠}

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

ব্যাখ্যা

¬{          }      It is impossible...
  ⊇Ċ               ...to find a subset of length 2 of the input...
   Ċhᵐ=            ...for which both elements have the same head...
       ∧           ...and...
        Ċtᵐ≠       ...have different tails.

তুমি কেমন ব্যাখ্যা করতে পারবেন Ċhᵐ=এবং Ċtᵐ≠কাজ করে?
ক্যালকুলেটরফলাইন

@ ক্যালকুলেটরফলাইন বড় হাতের অক্ষরগুলি ভেরিয়েবলের নাম। কাপলĊ নামে একটি বিশেষ পরিবর্তনশীল যা সর্বদা দুটি উপাদানের একটি তালিকা হতে পূর্বনির্ধারিত। হ'ল এমন একটি রূপক যা পূর্ববর্তী প্রাকটিক ( বা এখানে) ইনপুটটির প্রতিটি উপাদানকে ( এখানে) প্রয়োগ করে । এবং সরল পরীক্ষা করে দেখুন যে তাদের ইনপুটটিতে সমস্ত সমান / সমস্ত পৃথক উপাদান রয়েছে। h - headt - tailĊ=
ফ্যাটালাইজ করুন

7

এমএটিএল , 8 বাইট

1Z?gs2<A

ইনপুটগুলি হ'ল এস এর সাথে একটি অ্যারে, valueএস এর সাথে একটি অ্যারের পরে key

আউটপুট অন্যভাবে 1কাজ করার জন্য 0for

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

ব্যাখ্যা

1Z?

একটি স্পার্স ম্যাট্রিক্স তৈরি করে। প্রাথমিকভাবে সমস্ত এন্ট্রি থাকে 0; এবং 1প্রতিটি প্রবেশের সাথে যুক্ত হয় (i, j)যেখানে jএবং iইনপুট হয় key, valueজোড়া।

g

ম্যাট্রিক্স যৌক্তিক রূপান্তরিত হয়; অর্থাৎ, অতিক্রমকারী 1(ডুপ্লিকেট অনুসারে key, valueজোড়া) অ্যাক্সেস সেট করা আছে 1

s

প্রতিটি কলামের যোগফল গণনা করা হয়। এটি valueপ্রতিটি জন্য বিভিন্ন গুলি এর সংখ্যা key

2<A

একটি ফাংশনে এরকম সমস্ত পরিমাণ কম হবে 2


6

আর, 33 বাইট

এটি আর এর জন্য আমার সংস্করণ এটি aveফাংশনটির সুবিধা নেয় । আমি কী এবং মান পরামিতিগুলিতে ডিফল্ট সেট করে খালি ইনপুট দেওয়ার অনুমতি দিয়েছি। aveপ্রতিটি কিগুলির জন্য মানগুলির একটি গড় উত্পাদন করে। ভাগ্যক্রমে এটি ইনপুট মানগুলির মতো একই ক্রমে অর্থগুলি ফেরত দেয়, সুতরাং ইনপুটটির সাথে একটি তুলনা যদি বিভিন্ন মান থাকে তবে তা বোঝায়। TRUEএটি যদি কোনও ফাংশন হয় তবে ফিরে আসে ।

function(k=0,v=0)all(ave(v,k)==v)

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


6

05 এ বি 1 , 11 9 7 বাইট

কলসওয়ারাসকে 2 বাইট সংরক্ষণ করা হয়েছে

Ùø¬DÙQ,

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

ব্যাখ্যা

Ù           # remove duplicates
 ø          # zip
  ¬         # get the first element of the list (keys)
   D        # duplicate list of keys
    Ù       # remove duplicates in the copy
     Q      # compare for equality
      ,     # explicitly print result

@ রিলে: হ্যাঁ আমি এখনও বেশ খুশি যে বিশেষ
কেসটি

আমি মনে করি আপনি `\)^মাথা ( ¬) দ্বারা প্রতিস্থাপন করে 3 বাইট সংরক্ষণ করতে পারেন : টিআইও
কলসওয়ারাস 12'17

@ ক্যালসওয়ারাস: দুর্ভাগ্যক্রমে এটি বিশেষ ক্ষেত্রে ভেঙে গেছে []:(
এমিগিনা 12'17 এ 14

@ এনিগমা ওহ এটি কাজ করেছে কারণ পরীক্ষার সময় যখন আমার ,শেষে এখনও বাকী ছিল । এটি যোগ করুন এবং তারপরে এটি কোনওভাবে কাজ করে []
ক্যালসওয়ারাস 12'17

আপডেট করা হয়েছে Tio
kalsowerus

5

জাভাস্ক্রিপ্ট (ES6), 45 38 বাইট

সংরক্ষিত 6 বাইট @ নীলকে ধন্যবাদ

a=>a.some(([k,v])=>m[k]-(m[k]=v),m={})

যথাক্রমে ফাংশন এবং অ-ফাংশনগুলির জন্য ফেরত দেয় falseবা trueহয়।

এটি প্রতিটি ক্রিয়াকলাপের পুরানো মান ( m[k]) এবং নতুন একটি ( m[k]=vযা নতুন মানটিকে সঞ্চয় করে ) ক্রমাগত বিয়োগ করে কাজ করে । প্রতিবার, এখানে তিনটি কেস রয়েছে:

  • পুরানো মান না থাকলে, m[k]ফেরত দেয় undefinedundefinedফলাফল থেকে কিছু বিয়োগ করা NaN, যা মিথ্যা।
  • পুরাতন মান নতুন এক, হিসাবে একই m[k]-vফলাফল 0, যা falsy হয়।
  • যদি পুরনো মানটি নতুন থেকে আলাদা হয় তবে m[k]-vফলাফলটি শূন্যের পূর্বে পূর্ণসংখ্যায় পাওয়া যায় যা সত্য।

সুতরাং, আমাদের কেবল এটি নিশ্চিত করতে হবে যে m[k]-(m[k]=v)এটি কখনই সত্য নয়।


1
অনেক দূরে. ব্যবহার a=>!a.some(([x,y])=>m[x]-(m[x]=y),m=[])
নিল

@ নীল ডাং এটি জানলাম, অপরিজ্ঞাত হয়ে ওঠার জন্য কিছু উপায় থাকতে হবে m[k]... ধন্যবাদ!
ইটিএইচ প্রোডাকশনগুলি 21

5

গণিত, 24 বাইট

UnsameQ@@(#&@@@Union@#)&

ব্যাখ্যা: Unionডুপ্লিকেটযুক্ত জোড়া মুছুন, তারপরে #&@@@প্রতিটি জোড়া থেকে প্রথম উপাদানটি পাবেন (যেমন First/@তবে কম বাইট সহ)। যদি এই প্রথম উপাদানগুলিতে কোনও পুনরাবৃত্তি হয় তবে জোড়গুলি কোনও ফাংশন করে না, যা আমরা যাচাই করে দেখি UnsameQ

( @আমি যে কোনও প্রোগ্রাম লিখেছি তাতে অক্ষরের সর্বাধিক ঘনত্ব থাকতে পারে …)




4

বাশ + কোর্টিলস, 17

sort -u|uniq -dw1

এসটিডিআইএন এর মাধ্যমে ইনপুট দেওয়া হয়। keyএবং valueহয় Tabপৃথক প্রতিটি জোড়া সম্পর্কে newline-সীমা নির্দেশ করা হয়।

sortসদৃশ কী-মান জোড়াটি সরিয়ে দেয়। uniq -dযখন কোনও ফাংশনের ক্ষেত্রে খালি স্ট্রিংটিকে কেবল আউটপুট দেয়, এবং অন্যথায় একটি খালি খালি স্ট্রিং আউটপুট দেয় - যখন ডুপ্লিকেট কীগুলি থাকে যা বিভিন্ন মানগুলিতে মানচিত্র করে।

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


4

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

কোড:

ãü-ʒ¬_}}Ë

ব্যাখ্যা:

ã            # Cartesian product with itself
 ü-          # Pairwise subtraction
   ʒ  }}     # Filter out elements where the following is not true:
    ¬_       #   Check whether the first digit is 0
        Ë    # Check if all equal

05AB1E এনকোডিং ব্যবহার করে । এটি অনলাইন চেষ্টা করুন!


ʒএখনই দেখাতে যাচ্ছি আমি দেখতে পাচ্ছি :)
এমিগিনা 21

@ এমগিনা হ্যাঁ হা: পি, কিন্তু আমি ইতিমধ্যে একটি বাগ পেয়েছি যা তার }}পরিবর্তে আমাকে ব্যবহার করতে বাধ্য করে }
আদনান 21

4

জেলি , 6 বাইট

QḢ€µQ⁼

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

ব্যাখ্যা

QḢ€µQ⁼
Q      - Remove duplicate pairs
 Ḣ€    - Retrieve the first element of each pair
   µ   - On the output of what came before..
     ⁼ - Are the following two equal (bit returned)?
    Q  - The output with duplicates removed
       - (implicit) the output.

এখানে একটি বিকল্প পদ্ধতি 6 টি বাইটও রয়েছে:

QḢ€ṢIẠ

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

সদৃশ কীগুলি অপসারণের সাথে পরীক্ষার পরিবর্তে, এই শর্তগুলি ( I) এবং শর্তাদি ( ) এর মধ্যে পার্থক্যটি সমস্ত সত্য ( ) রয়েছে কিনা তা পরীক্ষা করে


4

আর , 95 66 বাইট

function(k,v)any(sapply(k,function(x){length(unique(v[k==x]))-1}))

জারকো ডাবল্ডামকে ধন্যবাদ 29 টি বাইট সংরক্ষণ করা।

বেনামে ফাংশন। FALSEকোনও ফাংশন এবং TRUEনা হলে আউটপুট (দুঃখিত)। আর্গুমেন্ট হিসাবে কীগুলির একটি তালিকা এবং মানগুলির একটি তালিকা হিসাবে গ্রহণ করে।

> f(c(1,2,5,1,2),c(2,1,2,2,5))
[1] TRUE # not a function

সমস্ত কীগুলির মাধ্যমে লুপ হয় এবং সেই কীটির জন্য স্বতন্ত্র মানগুলির সেটটির দৈর্ঘ্য ধরে। যদি anyতাদের মধ্যে, এর বিনিময়ে হয়> 1 TRUE

এই দ্বারা প্রহৃত হচ্ছে MickyT এর উত্তর, এবং এছাড়াও : Giuseppe এর। এর মধ্যে একটি upvote।


আপনি কেন কেবল ডেটাফ্রেম তৈরি করছেন, কেবলমাত্র সেই ডেটাফ্রেমে আপনি যে ভেক্টর রেখেছেন তা উল্লেখ করার জন্য? function(k=0,v=0)any(sapply(k,function(x){length(unique(v[k==x]))-1}))একই জিনিস করা উচিত।
জেএডি

কারণ আমি এখনও শিখছি! অন্য কোনও আর উত্তরগুলির মধ্যে কমপক্ষে একটি আপনার বর্ণনার মতো করে দেয়।
বিএলটি

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

4

জে-উবি , 48 33 25 21 বাইট

-3 বাইট জর্ডানকে ধন্যবাদ!

:size*:==%[:to_h,~:|]

ব্যাখ্যা

:size*:==%[:to_h,~:|]

# "readable"
(:size * :==) % [:to_h, ~:|]

# transform :% to explicit lambda
->(x){ (:size * :==).(:to_h ^ x, ~:| ^ x)

# apply explicit x to functions
->(x){ (:size * :==).(x.to_h, x|x) }

# expand :* (map over arguments)
->(x){ :==.(:size.(x.to_h), :size.(x|x) }

# simplify symbol calls to method calls
->(x){ x.to_h.size == (x|x).size }

# :| is set union for arrays; x|x just removes duplicates, like :uniq but shorter
->(x){ x.to_h.size == x.uniq.size }

প্রথম অ্যাপ্রোচ, 33 বাইট

-[:[]&Hash,:uniq]|:*&:size|:/&:==

এইটি সমতুল্য রুবি সমাধানের চেয়ে দীর্ঘ, তবে এটি তৈরি করা মজাদার ছিল।

রুবিকে রূপান্তর করে ব্যাখ্যার চেষ্টা:

-[:[]&Hash,:uniq]|:*&:size|:/&:==

# "readable"
-[:[] & Hash, :uniq] | (:* & :size) | (:/ & :==)                  

# turn into explicit lambda
->(x){ (:/ & :==) ^ ((:* & :size) ^ (-[:[] & Hash, :uniq] ^ x)) } 

# simplify expressions now that we have an explicit x
->(x){ :== / (:size * [Hash[x], x.uniq]) }                          

# translate to equivalent Ruby code
->(x) { [Hash[x], x.uniq].map(&:size).reduce(:==) }               

# simplify reduce over explicit array
->(x) { Hash[x].size == x.uniq.size }                             

আমি প্রতিস্থাপন করে :uniqআরও নতুন সংস্করণ দিয়ে 2 বাইট সংরক্ষণ করতে পারি~:|



3

গণিত, 35 বাইট

(l=Length)@Union@#==l@<|Rule@@@#|>&

খাঁটি ফাংশন ইনপুট হিসাবে প্রত্যাশিত জোড়গুলির একটি তালিকা নিচ্ছে এবং ফিরে আসবে Trueবা FalseUnion@#পুনরাবৃত্ত আদেশযুক্ত জোড়গুলি মুছে ফেলার বিষয়টি সত্যায়িত করে তবে <|Rule@@@#|>(একটি সমিতি) একটি নির্দিষ্ট প্রথম উপাদানটির সাথে এক আদেশযুক্ত জুটি ছাড়া সমস্ত মুছে দেয়। সুতরাং Lengthইনপুট তালিকাটি কোনও ফাংশন কিনা তা পরীক্ষা করার জন্য আমরা দুটি আউটপুটগুলির সাথে তুলনা করতে পারি ।



3

সিজেম , 19 17 বাইট

মার্টিন ইন্ডারকে ধন্যবাদ 2 বাইট সংরক্ষণ করা

0l~$2ew{:.=~!&|}/

0ফাংশন এবং 1অ-কার্যকারিতার জন্য আউটপুট ।

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

ব্যাখ্যা

0                     e# Push a 0. We need it for later.
 l~                   e# Read and eval a line of input.
   $                  e# Sort it by the keys.
    2ew               e# Get all consecutive pairs of the sorted list.
       {              e# For each pair of pairs:
        :.=           e#  Check if the keys are equal and if the values are equal.
           ~!&        e#  Determine if the keys are equal AND the values are not equal.
              |       e#  OR with 0. If any pair indicates that the input is not a function,
                      e#  this will become 1 (and remain 1), otherwise it will be 0.
               }/     e# (end block)

3

এপিএল (ডায়ালগ) , 16 12 11 9 বাইট

(∪≡⊢)⊃¨∘∪

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

ব্যাখ্যা

             Unique, remove duplicates; (3 5) (3 5) => (3 5)
¨∘            For each element
             Pick the first sub element (3 5) (2 3) => 3 

             Check whether the arguments (listed below) are the same
             The right argument
             And the right argument with duplicates removed

0মিথ্যা এবং 1সত্যের জন্য প্রিন্টগুলি


ওহ, আপনি সত্যিই ভাল হচ্ছে।
অ্যাডাম


3

ব্রেনফাক , 71 বাইট

,[[-[->>+<<]+>>],>[[->+<<->]<[<<]>]>[-<+>]<<[->+<]+[-<<]>>,]-[--->+<]>.

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

ইনপুটটি ফ্ল্যাট স্ট্রিং হিসাবে নেওয়া হয়: উদাহরণস্বরূপ, প্রথম পরীক্ষার কেস হবে 35356444। মূল প্রশ্নের মধ্যে উপস্থাপনাটি দেখানোর জন্য, প্রোগ্রামটিতে সঠিক পয়েন্টগুলিতে মোট ছয়টি কমা যুক্ত করুন।

আউটপুট Uফাংশন এবং Vঅ-ফাংশনগুলির জন্য।

ব্যাখ্যা

যে কোনও এএসসিআইআই কোড পয়েন্ট এন এর জন্য, চ (এন) ঘর 2n + 1 এ সঞ্চয় করা হয়। কোষ 2n এবং 2n + 2 কর্মক্ষেত্রের কাজ করছে এবং 0, 2, 4, 6, ... 2n-2 ব্রেডক্র্যাম্বের একটি ট্রেইল যা ঘরের দিকে ফিরে যাবে 0 যখন ইনপুটটি কোনও ফাংশন হিসাবে প্রমাণিত হয় না, f ( 0) 1 এ সেট করা হয় (বিভিন্ন পার্শ্ব প্রতিক্রিয়াগুলির মধ্যে)।

,                  input first key
[                  start main loop
 [-[->>+<<]+>>]    move to cell 2n, leaving a trail of breadcrumbs
 ,                 input value corresponding to current key
 >[                if key already has a value:
   [->+<<->]<      copy existing value, and compare to new value
   [<<]            if values are different, go to cell -2
   >               go back to cell 2n+1 (or -1 if mismatch)
 ]
 >[-<+>]           move existing value back to cell 2n+1 (NOP if no existing value, move the 1 from cell 0 to cell -1 if mismatch)
 <<[->+<]          copy new value to cell 2n+1 (NOP if there was already a value)
 +[-<<]>>          follow breadcrumbs back to cell 0 (NOP if mismatch)
 ,                 input next key
]                  (if mismatch, cell -2 becomes the next "cell 0", and the next key is also effectively changed by the breadcrumbs left lying around)
-[--->+<]>.        add 85 to cell 1 and output the result


2

পাইথ - 9 8 বাইট

ql.d{Ql{

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

এটি প্রথমে যে কোনও পুনরাবৃত্তি জোড়া মুছে ফেলার মাধ্যমে কাজ করে { তারপরে এটি তালিকাটির দৈর্ঘ্য তালিকা থেকে তৈরি অভিধানের দৈর্ঘ্যের সাথে তুলনা করে (যদি একই x মানটি একাধিকবার ঘটে থাকে তবে অভিধান নির্মাণকারী কেবলমাত্র সর্বশেষটি ব্যবহার করেন, ফলস্বরূপ অভিধানটি তালিকার চেয়ে ছোট হয়)


2

এমএটিএল , 12 বাইট

iFFvXu1Z)SdA

ইনপুটটি 2-কলামের ম্যাট্রিক্স, যেখানে প্রথম কলামটি কী এবং দ্বিতীয়টি মান।

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

ব্যাখ্যা

i     % Input: 2-column matrix
FFv   % Postpend a row with two zeros. This handles the empty case
Xu    % Unique rows. This removes duplicate (key, value) pairs
1Z)   % Select first column, that is, key. We need to check if all
      % keys surviving at this point are different
S     % Sort
d     % Consecutive differences
A     % Are all values nonzero?

2

পিএইচপি, 49 বাইট

foreach($_GET as[$x,$y])($$x=$$x??$y)-$y&&die(n);

ফাংশন এবং nঅ-কার্যকারিতার জন্য কিছুই মুদ্রণ করে না ।


1

সিজেম , 14 11 9 বাইট

_&0f=__&=

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

স্ট্যাকের কী / মান জোড়ার অ্যারের হিসাবে ইনপুট নেয়, 1ইনপুটটি যদি কোনও ফাংশন হয় এবং 0যদি তা না থাকে তবে ফিরে আসে ।

এই সমাধানটি স্নিপেটের উপর ভিত্তি করে তৈরি করা হয়েছে _&, যা সেটটিকে ছেদ করে নিজেই নিয়ে একটি অ্যারে ডি-ডুপ্লিকেট করে। আমি এটি পুরোপুরি ইনপুটটিতে প্রথমে (ঠিক কোনও সদৃশ কী / মান জোড়গুলি থেকে মুক্তি পেতে) এবং তারপরে কেবল কীগুলিতে (প্রথম ডি-সদৃশতার পরে কোনও ডুপ্লিকেট কীগুলি এখনও আছে কিনা তা দেখার জন্য) আমি এটি দু'বার করি।

মন্তব্য সহ পুরো কোডটি এখানে:

_&           "remove duplicate key/value pairs from input";
  0f=        "remove the values, leaving only the keys";
     _       "make a copy of the array of keys";
      _&     "remove duplicate keys from the copy";
        =    "compare the de-duplicated key array with the original";

ঠিক তাই আপনি জানেন যে, e#সিজেমে ডেডিকেটেড লাইন কমেন্ট সিনট্যাক্স।
Esolanging ফল

1

রুবি, 39 30 29 বাইট

9 টি বাইট সংরক্ষণ করার জন্য @ ভ্যালিউইঙ্ককে ধন্যবাদ !

->x{Hash[x].size==(x|x).size}

এর @ রড এর পোর্ট পাইথন 2 উত্তর


Hash[x]ঠিক পাশাপাশি টিবিএইচও কাজ করে
মান কালি

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