দুটি তালিকার ছেদ স্থাপন করুন


10

আপনার লক্ষ্যটি হল পূর্ণসংখ্যার দুটি তালিকার সেট ছেদটি গণনা করা। ছেদটি উভয় ইনপুট তালিকায় অন্তত একবার পাওয়া পূর্ণসংখ্যার অনন্য-অর্ডারযুক্ত গোষ্ঠী হিসাবে সংজ্ঞায়িত করা হয়।

ইনপুট

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

উদাহরণ ইনপুট:

1 4 3 9 8 8 3 7 0
10 1 4 4 8 -1

আউটপুট

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

উদাহরণ পরীক্ষার কেস (নোট করুন আউটপুট ক্রমটি গুরুত্বপূর্ণ নয়):

প্রথম দুটি লাইন হ'ল ইনপুট তালিকা, তৃতীয় লাইন আউটপুট। (empty)খালি তালিকা বোঝায়।

(empty)
(empty)
(empty)

1000
(empty)
(empty)

3 1 2 4 3 1 1 1 1 3
3 1 -1 0 8 3 3 1
1 3

1 2 1
3 3 4
(empty)

স্কোরিং

এটি কোড গল্ফ; বাইট জিতে সংক্ষিপ্ত উত্তর।

স্ট্যান্ডার্ড লুপ-গর্ত নিষিদ্ধ। আপনি সেট-এর মতো ক্রিয়াকলাপগুলির জন্য নকশাকৃত কোনও অন্তর্নির্মিত বৈশিষ্ট্য ব্যবহার করতে পারেন।

অন্তর্নির্মিত বৈশিষ্ট্য নিষিদ্ধ:

  • সদৃশ / নকল অপসারণ সেট করুন
  • পার্থক্য / ছেদ / ইউনিয়ন সেট করুন
  • সাধারণীকৃত সদস্যপদ পরীক্ষা (যেমন inপাইথনের indexOfমূলশব্দের মতো কিছু , -র মতো ফাংশন ইত্যাদি) দ্রষ্টব্য যে পাইথন এই নির্মাণটি inতৈরির জন্য কীওয়ার্ডটি পুনরায় ব্যবহার করে সত্ত্বেও "তালিকায় ফোরচ আইটেম" নির্মাণের অনুমতি দেওয়া হয়েছে (ধরে নিলে তারা অন্যান্য বিধিনিষেধগুলির কোনও লঙ্ঘন করেন না) are
  • এই নিষিদ্ধ বিল্ট-ইনগুলি "ভাইরাল", অর্থাত্ যদি এই উপ-বৈশিষ্ট্যগুলির মধ্যে একটি বৃহত্তর বিল্ট-ইন থাকে তবে এটি একইভাবে নিষিদ্ধ (যেমন একটি তালিকার সদস্যপদ দ্বারা ফিল্টারিং)।

উপরের তালিকায় নেই এমন কোনও বিল্ট-ইনগুলি অনুমোদিত (উদাহরণস্বরূপ বাছাই, পূর্ণসংখ্যার সমতা পরীক্ষা, তালিকা সংযোজন / সূচক অনুসারে অপসারণ, ফিল্টারিং ইত্যাদি) etc.

উদাহরণস্বরূপ, নিম্নলিখিত দুটি উদাহরণ স্নিপেটগুলি নিন (পাইথনের মতো কোড):

# prohibited: filters by testing if each value in tmpList is a member of listA
result = tmpList.filter(listA)

# ok: filtering by a lambda which manually iterates over listA and checks for equality
def my_in_func(val, slist):
    for a in slist:
        if(val == a):
            return True
    return False
result = filter(lambda v: my_in_func(val, listA), tmpList)

এই সেট-এর মতো বৈশিষ্ট্যগুলি নিজেই প্রয়োগ করতে আপনাকে স্বাগত জানাই এবং সেগুলি আপনার স্কোরের দিকে গণনা করবে।

আপনার সমাধানটি একটি যুক্তিসঙ্গত সময়ে সম্পূর্ণ হওয়া উচিত (বলুন, আপনি দুটি তালিকার জন্য প্রতিটি হার্ডওয়্যার যার দৈর্ঘ্য 1000 - এর এক মিনিটেরও কম)।


5
উপায় দ্বারা, বিভ্রান্তি এবং miscommunication সাধারণ ওয়াই ছাড়া কি এক্স , যা কেন তারা আনুষ্ঠানিকভাবে এক জিনিস যখন চ্যালেঞ্জ লেখা এড়াতে
ডেনিস

2
@ ডেনিস হ্যাঁ, আমি অনুমান করি যে এই সমস্যাটি সত্যিই সেগুলির মধ্যে একটি হয়ে দাঁড়িয়েছে :( আমি যখন প্রথম লিখলাম তখন আমি আশা করছিলাম এটি একটি আকর্ষণীয় সমস্যা হতে পারে, তবে আমি যখন কোনও নিয়মকানুন কাজ শুরু করতে শুরু করি তখনই আমার এই চ্যালেঞ্জটি শেষ করা উচিত ছিল।
helloworld922

একটি বিল্টিন যা রান দৈর্ঘ্যের এনকোডিং সম্পাদন করে?
isaacg

এটা ঠিক করা উচিত।
helloworld922

1
আউটপুটে নকল থাকতে পারে?
অ্যাডাম

উত্তর:


7

হাস্কেল, 45 42 বাইট

y#(e:s)=[e|any(==e)y,all(/=e)s]++y#s
_#x=x

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

সম্পাদনা করুন: -২ বাইট @ অর্জান জোহানসেনকে ধন্যবাদ, -১ বাইট @dfeuer ধন্যবাদ


সুস্পষ্ট পুনরাবৃত্তি সহ এটি 2 বাইট সংক্ষিপ্ত
janrjan জোহানসেন

@ ØrjanJohansen, 1 এর আরও বেশি
dfeuer

4

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

YY_iti!=Xa)hStdfQ)

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

এটি দুটি ধাপে কাজ করে। প্রথম ছেদটি সম্ভবত ডুপ্লিকেট সহ গণনা করা হয়। এটি একটি অ্যারের সমস্ত উপাদানকে অন্য সমস্ত উপাদানের সাথে তুলনা করা এবং দ্বিতীয়টিতে উপস্থিত প্রথমগুলির উপাদানগুলি রাখার উপর ভিত্তি করে।

তারপরে নকলগুলি সরানো হবে। এই জন্য, পূর্ববর্তী পদক্ষেপ থেকে অ্যারে বাছাই করা হয়, এবং পূর্ববর্তী থেকে পৃথক হলে এন্ট্রি রাখা হয়। একটি -infমান এমনভাবে চাপ দেওয়া হয় যাতে প্রথম (অর্থাত্ সর্বনিম্ন) মানটি হারাতে না পারে।

YY_                 % push -infinity
   it               % take first input. Duplicate
     i!             % take second input. Transpose
        =           % test all combinations of elements of the two inputs for equality
        Xa          % row vector that contains true for elements of first array that 
                    % are present in the second, possibly duplicated
          )         % index into first array to keep only those elements. Now we need
                    % to remove duplicates
           h        % append -infinity
            S       % sort
             tdf    % duplicate. Find entries that differ from the preceding
                Q)  % add 1 and index into array to keep only non-duplicates

4

জেলি, 13 বাইট

=S¥Ðf
ṂrṀ{ç³ç

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

কিভাবে এটা কাজ করে

ṂrṀ{ç³ç  Main link. Arguments: A (list 1), B (list 2)

Ṃ        Yield m, the minimum of A.
  Ṁ{     Yield M, the maxmimum of A.
 r       Create an inclusive range from m to M.
    f³   Apply the helper link with right argument A.
      f  Apply the helper link with right argument B.


=S¥Ðf    Helper link. Arguments: n (integer in range), L (list, A or B)

=        Test all elements of L for equality with n.
 S       Add the results.
  ¥      Combine the two previous links into a dyadic chain.
   Ðf    Filter by the result of the sums.

@ আইস্যাক এখন ঠিক করা হয়েছে।
ডেনিস

3

গল্ফ্লুয়া , 68 টি অক্ষর

\f(a,b)k={}~@_,v p(a)~@_,w p(b)?w==v k[w]=w$$$~@_,v p(k)I.w(v," ")$$

যা হিসাবে বলা হয়

> f({1,2,3,4},{3,4,5})
3 4
> f({3,1,2,4,3,1,1,1,1,3},{3,1,-1,0,8,3,3,1})
3 1

নিয়মিত লুয়ায়, এটি হবে

function foo(a,b)
   local k={}
   for i,v in pairs(a)
      for j,w in pairs(b)
         if v==w then
            k[v] = v
         end
      end
   end
   for i,v in pairs(k)
      print(v," ")
   end
end

সুতরাং মূলত আমি দুটি টেবিলের প্রতিটি উপাদান নিয়ে পুনরাবৃত্তি করছি এবং কেবল সমমানের মানগুলি সঞ্চয় করছি। কী ( k[w]=w) হিসাবে মানটি ব্যবহার করে , আমি সমস্ত সদৃশগুলি মুছে ফেলছি। তারপরে আমরা সূচি এবং মানটির উপর পুনরাবৃত্তি করে নতুন টেবিলটি আউটপুট দেবpairs


3

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

(a,b)=>a.filter((e,i)=>b.some(f=>e==f)&a.slice(0,i).every(f=>e-f))

ব্যবহার না করে indexOfযেমন আমি নিশ্চিত না যে এটি অনুমোদিত mitted


3

পাইথ, 12 11 বাইট

eMrSsq#RQE8

প্রদর্শন

ব্যাখ্যা:

eMrSsq#RQE8
               Implicit: Q is one of the lists.
     q#RQE     For every element in the first list, filter the second list on
               equality with that element.
    s          Concatenate. We now have the intersection, with duplicates.
  rS      8    Sort and run length encode, giving counts and elements.
eM             Take just the elements.

বাছাই এবং rle একটি বাইট সংরক্ষণ করে।
জাকুবে

@ জাকুব আমি বলব rle একটি বিল্টিন যা নকলগুলি সরিয়ে দেয় s
isaacg

আপনি কেবল এটির পূর্বে বাছাই করলে এবং পরে rle এর গণনাগুলি সরিয়ে ফেললে এটি কেবল নকলগুলি সরিয়ে ফেলবে। এটি ধূসর অঞ্চলে কিছুটা, তবে আমার মনে হয় এটি অভিধান ব্যবহার করছে। এটি মূলত একটি সেট যা প্রতিটি উপাদানগুলির জন্য অতিরিক্ত ডেটা সঞ্চয় করে।
জাকুবে

@ জাকুব ওপি বলেছেন এটি ঠিক আছে। ধন্যবাদ!
isaacg

2

বাশ + জিএনইউ কোর্টিলস, 184 বাইট

[ -z "$1" ] && exit
p='{if(a[$0]++==0)print $0}'
while read A; do
while read B; do
[ $A = $B ] && echo $A
done < <(grep -oP '\d*'<<<$1|awk "$p")
done < <(grep -oP '\d*'<<<$2|awk "$p")

আবাহন:

./codegolf.sh '12 4 654 12 3 56' '4 4 56 33 3 3 3'

আউটপুট:

4
56
3

ছেদ ফাঁকা থাকলে কোনও আউটপুট নেই। এই স্ক্রিপ্টটি বাছাই করে না এবং প্রথম সেটটি খালি আছে কিনা তা স্যানিটি পরীক্ষা করে। ব্যাখ্যা:

[ -z "$1" ] && exit  # Exit if first set is empty
p='{if(a[$0]++==0)print $0}' # The AWK program we will use
while read A; do   # read the list with two
while read B; do   # encapsulated loops
[ $A = $B ] && echo $A   # if they match, then print
done < <(grep -oP '\d*'<<<$1|awk "$p")
done < <(grep -oP '\d*'<<<$2|awk "$p")
# the process substitution greps the numbers and pipes them to awk. Our awk program makes them unique without sorting; it uses associative arrays with index names same as lines (our numbers here).

জানতে বোনাস: আপনি grep -o .সংখ্যার পরিবর্তে এলোমেলো স্ট্রিংয়ের সাহায্যে এটি পরিবর্তন করতে পারেন।


2

পার্ল 6, 26 37 বাইট

{%(@^a.grep(any(@^b)):p.invert).keys}

ব্যবহার

> my &f = {%(@^a.grep(any(@^b)):p.invert).keys}
-> @a, @b { #`(Block|559823336) ... }
> f([3,1,2,4,3,1,1,1,1,3], [3,1,-1,0,8,3,3,1])
(1 3)

চটকদার অ-প্রতিযোগিতামূলক উত্তর

> [3,1,2,4,3,1,1,1,1,3]  [3,1,-1,0,8,3,3,1]
set(3, 1)

অথবা আপনি যদি বিরক্তিকর অল ' fফাংশনে এটি পছন্দ করেন

> my &f = &infix:<∩>
sub infix:<∩> (|p is raw) { #`(Sub+{<anon|130874592>}+{Precedence}|102325600) ... }
> f([3,1,2,4,3,1,1,1,1,3], [3,1,-1,0,8,3,3,1])
set(3, 1)

আমি আমার উত্তর আপডেট করেছি .unique ব্যবহার না করার
হট

1
invertপরিবর্তে মানগুলি গ্রহণ করলে আপনার সত্যিকারের দরকার নেই । 24 বাইট
জো কিং

2

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

শেষ দুটি লাইন সদৃশগুলি সরিয়ে দেয়। ইনপুটটি হ'ল কমা দ্বারা আলাদা দুটি স্থান-সীমিত তালিকা। আউটপুট হোয়াইটস্পেস-সীমাবদ্ধ।

+`( -?\d+)\b(.*,.*)\1\b
$1_$2
-?\d+\b|_|,

+`(-?\d+)(.*)\1
$1$2

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

যদি আউটপুটে ডুপ্লিকেটগুলি অনুমোদিত হয় তবে আমার প্রোগ্রামটি 42 বাইট হবে।


2

Jq 1.5 , 99 বাইট

def f(a;b):(a+b|min)as$m|[range($m;a+b|max)|[]]|.[a[]-$m][0]=1|.[b[]-$m][1]=1|.[[[1,1]]]|map(.+$m);

সম্প্রসারিত

def f(a;b):
     (a+b|min) as $m         # find smallest value in either array
   | [range($m;a+b|max)|[]]  # create array of [] for indices [min,max]
   | .[ a[]-$m ][0]=1        # store 1 in [0] at corresponding indices of a
   | .[ b[]-$m ][1]=1        # store 1 in [1] at corresponding indices of b
   | .[[[1,1]]]              # find all the indices where we stored a 1 for a and b
   | map(.+$m)               # convert back from indices to values
;

এটি {}অবজেক্টগুলি ব্যবহার করা এড়িয়ে যায় এবং যেহেতু jq-তে বিট ক্রিয়াকলাপ থাকে না এটি এটি একটি অ্যারের সাথে তাদের অনুকরণ করে।

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


2

অ্যাক্সিয়াম, 411 বাইট

b(x,v)==(l:=1;h:=#v;repeat(l>h=>break;m:=(l+h)quo 2;x<v.m=>(h:=m-1);x>v.m=>(l:=m+1);return m);0);g(a,b)==(if #a>#b then(v:=a;w:=b)else(v:=b;w:=a);c:=sort(v);for x in w repeat(if binSearch(x,c)~=0 then return 1);0)
f(a:List INT,b:List INT):List INT==(r:List INT:=[];#a*#b=0=>r;x:=sort(a);y:=sort(b);i:=1;repeat(i>#x=>break;v:=x.i;binSearch(v,y)=0=>(i:=i+1);r:=concat(r,v);while i<=#x and x.i=v repeat i:=i+1);r)

ungolf এবং পরীক্ষা

--suppose v.1<=v.2<=....<=v.#v as the default function sort() produce
--   binary serch of x in v, return the index i with v.i==x
--   return 0 if that index not exist
--traslated in Axiom from C  book
--Il Linguaggio C, II Edizione 
--Brian W.Kerninghan, Dennis M.Ritchie
binSearch(x,v)==
    l:=1;h:=#v
    repeat
       l>h=>break
       m:=(l+h)quo 2
       x<v.m=>(h:=m-1) 
       x>v.m=>(l:=m+1)
       return m
    0

--N*log(N)+n*log(n)+N*n*log(n) so it is N*n*log(n) or n*N*log(N)
ListIntersection(a:List INT,b:List INT):List INT==
    r:List INT:=[];#a*#b=0=>r
    x:=sort(a);y:=sort(b)
    i:=1
    repeat
        i>#x=>break
        v:=x.i
        binSearch(v,y)=0=>(i:=i+1)
        r:=concat(r,v)
        while i<=#x and x.i=v repeat i:=i+1
    r

(5) -> f([],[])
   (5)  []
                                                       Type: List Integer
(6) -> f([1000],[])
   (6)  []
                                                       Type: List Integer
(7) -> f([3,1,2,4,3,1,1,1,1,3],[3,1,-1,0,8,3,3,1])
   (7)  [1,3]
                                                       Type: List Integer
(8) -> f([1,2,1],[3,3,4])
   (8)  []
                                                       Type: List Integer

2

অ্যাক্সিয়াম, 257 বাইট

W(x,y)==>while x repeat y;f(a,b)==(r:List INT:=[];#a*#b=0=>r;x:=sort(a);y:=sort(b);i:=1;j:=1;repeat(j>#y=>break;W(i<=#x and x.i<y.j,i:=i+1);i>#x=>break;W(j<=#y and y.j<x.i,j:=j+1);j>#y=>break;v:=y.j;if x.i=v then(r:=concat(r,v);W(j<=#y and y.j=v,j:=j+1)));r)

এটি বিনসার্ক ব্যবহার ছাড়াই ... তবে আমি বড় ওকে চিনি না ... অবরুদ্ধ এবং ফলাফল:

--N*log(N)+n*log(n)+???
ListIntersection(a:List INT,b:List INT):List INT==
    r:List INT:=[];#a*#b=0=>r
    x:=sort(a);y:=sort(b)
    i:=1;j:=1
    repeat
        j>#y=>break
        while i<=#x and x.i<y.j repeat i:=i+1
        i>#x=>break
        while j<=#y and y.j<x.i repeat j:=j+1
        j>#y=>break
        v:=y.j;if x.i=v then 
                        r:=concat(r,v)
                        while j<=#y and y.j=v repeat j:=j+1
    r

(3) -> f([3,1,2,4,3,1,1,1,1,3],[3,1,-1,0,8,3,3,1])
   (3)  [1,3]
                                                       Type: List Integer
(4) -> f([],[])
   (4)  []
                                                       Type: List Integer
(5) -> f([1,2,1],[3,3,4])
   (5)  []
                                                       Type: List Integer

অনেক পরীক্ষা চালানো হয়নি তাই বাগ করা যায় ...


2

টিওতে 3,1,2,4,3,1,1,1,1,3 ইনপুট এবং 3 ইনপুট [3] এর পরিবর্তে [1,2,3] আউটপুট ফেরত দেয়
রোজলুপি

@ রোসলুপি এর [3]পরিবর্তে চেষ্টা করুন3
হাইপার নিউট্রিনো

আমার মতে এটি ঠিক হবে, যদি 2 টি তালিকার
ছেদগুলির

@ রোসলুপ আমি এটি সাহায্য করতে পারি না, জেলি এভাবেই আউটপুট দেয়। খালি []এবং একক তালিকাগুলির জন্য উপাদান। আপনি উইকি পৃষ্ঠায় যেতে পারেন (পরমাণু) এবং পাইথন স্ট্রিংফাই বিল্টটিন সংযোজন করতে পারেন তবে এটি আমার উত্তরকে দীর্ঘ এবং কঠোর করে তোলে I / O বোবা হয়
HyperNeutrino

আমার পক্ষে ঠিক হবে যদি সে কেবল ইনপুট তালিকা [] উপায়ে গ্রহণ করে (উদাহরণস্বরূপ [১], [১,২,৩] [], [], [] ইত্যাদি) এবং কেবলমাত্র তালিকা [] উপায়ে তালিকা আউটপুট দেয় (এর ইনপুট হিসাবে) তালিকার জন্য প্রথম বন্ধনী যদি {} হয় বা () ডানটির জন্য উপরের ভাষণের পুনরাবৃত্তি করে। এটি কেবল আমি যা ভাবি তার জন্যই, প্রশ্ন সম্ভবত অন্যথায় বলে এবং সব ঠিক আছে
RosLuP

2

কাস্তে , 9 বাইট

mo←←kIfE*

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

m            Map
 o←←         taking the first element from the first element
    kI       over lists of identical values from
        *    the Cartesian product of the two input lists
      f      filtered by
       E     both elements of a pair being equal.

গিটহাবের kহুস্কের সোর্স কোডটি খুঁজছেন, ("কীন") তালিকাটি বাছাইকরণ এবং সংলগ্ন মানগুলিকে গোষ্ঠীকরণের রচনা হিসাবে বাস্তবায়িত করা হয়েছে, সুতরাং যদিও আমি আসলে "গ্রুপঅন" এর বাস্তবায়ন খুঁজে পাই না তবে এটি সম্ভবত এটি নিরাপদ বলে ধরে নেওয়া নিরাপদ নয় ' কিছুতেই সেটটি করবেন না, যেহেতু হাস্কেল একটি কার্যকরী ভাষা এবং সংলগ্ন সমান মানগুলি গোষ্ঠীকরণ করা বেশ সহজ-সরল কমানোর ওভার-এ-লিংক-তালিকা অপারেশন। (আমি করতে বাস্তবায়নের খুঁজে kযা আমি এখানে পরিবর্তন করে ব্যবহার করতে পারে 'র অন্য ধরনের স্বাক্ষর "keyby", Iথেকে= , কিন্তু আমি Haskell, জানি না তাই আমি বলতে পারবো না এটা কিভাবে ঠিক কাজ করে।)

এছাড়াও, সমস্ত ধরণের সেট অপারেশন নিষিদ্ধ হওয়ার আগে আমি বুঝতে পেরেছিলাম একটি দুর্দান্ত ছোট ব্র্যাচল্যাগ উত্তর: ⟨∋∈⟩ᵘ


2

আর, 141 83 বাইট

l=sapply(strsplit(readLines(file("stdin"))," "),as.numeric)
r=rle(sort(unlist(l)))[[2]]
r[sapply(r,function(x)any(x==l[[1]])&any(x==l[[2]]))]

জিউসেপ্পে উন্নত

function(a,b){r=rle(sort(c(a,b)))[[2]];r[sapply(r,function(x)any(x==a)&any(x==b))]}

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


এটি কাজ করে না বলে মনে হচ্ছে। আমি সম্ভবত এটি ভুলভাবে ব্যবহার করার চেষ্টা করছি, তাই সম্ভবত আপনার এটি চেষ্টা করে অনলাইনে একটি লিঙ্ক সরবরাহ করা উচিত ! কীভাবে এটি ব্যবহার করবেন তা প্রদর্শন করা এবং এটি প্রতিদ্বন্দ্বিতার প্রয়োজনীয়তা পূরণ করে তা প্রদর্শন করে। (উত্তরের একটি ব্যাখ্যাতেও কোনও ক্ষতি হবে না))
অপ্রকাশিত স্ট্রিং

আপনি ইনপুট ধরে নিতে পারবেন না aএবং bপ্রাক-সংজ্ঞায়িত হয়ে থাকেন, আপনাকে অবশ্যই ইনপুট গ্রহণ করতে হবে, হয় সেগুলি ফাংশন আর্গুমেন্ট হিসাবে গ্রহণ করে বা এসটিডিএন থেকে।
জিউসেপে

1
আমি মনে করি golfier শুধু এই একটি ফাংশন করতে, হবে ভালো
: Giuseppe

1
@db "শিরোনাম" নাম "কোড" বিভাগে বর্ণিত বেনাম ফাংশনটির নাম দেয় (বেনামে ফাংশনগুলি পুরোপুরি গ্রহণযোগ্য হয়) এবং পাদলেখ এটি পরে ডাকে। শিরোনাম, কোড এবং পাদলেখ বিভাগগুলি সমস্ত কোডের একটি অংশ, তবে কেবলমাত্র "কোড" বিভাগের অংশটি বাইটের জন্য গণনা করে :-)
জিউসেপ্পে

1

পাইথন 3, 51 বাইট

lambda a,b:[v for v in a if{n:1 for n in b}.get(v)]

যদি ইনপুট তালিকাগুলিতে নকল থাকতে পারে:

পাইথন 3, 67 বাইট

lambda a,b:list({v:1 for v in a if {n:1 for n in b}.get(v)}.keys())

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