আমার স্ট্রিং কতটা সামঞ্জস্যপূর্ণ?


12

ভূমিকা

একই দৈর্ঘ্যের L এর দুটি স্ট্রিং A এবং B এবং একটি পূর্ণসংখ্যার কে ≥ 0 বিবেচনা করুন । এই চ্যালেঞ্জের উদ্দেশ্যে, আমরা বলতে যে স্ট্রিং হয় কে , -compatible যদি একটি স্ট্রিং বিদ্যমান সি দৈর্ঘ্যের কে যেমন যে একজন সংযুক্তকরণের একটি সংলগ্ন সাবস্ট্রিং হয় বিসিবি । নোট করুন যে বিএবির একটি সাবস্ট্রিং , সুতরাং এবং বি সবসময় এল -compatible (কিন্তু এও হতে পারে কে কিছু অপরের জন্য -compatible কে <এল )।

ইনপুট

আপনার ইনপুটগুলি একই ধনাত্মক দৈর্ঘ্যের দুটি স্ট্রিং রয়েছে, এতে উপরের- এবং ছোট হাতের ASCII অক্ষর থাকে।

আউটপুট

আপনার আউটপুটটি সর্বনিম্ন অ-নেতিবাচক পূর্ণসংখ্যার কে হবে যেমন ইনপুটগুলি কে- সামঞ্জস্যপূর্ণ।

উদাহরণ

ইনপুট বিবেচনা করুন

A = HHHHHH
B = HHttHH

এগুলি 0- সামঞ্জস্যপূর্ণ নয়, কারণ A এর বিস্তৃতি নয় HHttHHHHttHH। এগুলি 1-সামঞ্জস্যপূর্ণও নয়, কারণ A হ'ল HHttHH#HHttHHকোন অক্ষরটি কোনও অক্ষর স্থাপন করা হোক না কেন তার কোনও পদার্থ নয় #। তবে A হ'ল একটি স্ট্রিং HHttHHHHHHttHH, যেখানে সি দুটি-অক্ষরের স্ট্রিং HH। সুতরাং ইনপুটগুলি 2- সামঞ্জস্যপূর্ণ, এবং সঠিক আউটপুট 2

বিধি এবং স্কোরিং

আপনি একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন। সর্বনিম্ন বাইট গণনা জয়, এবং মান লুফোলগুলি অনুমোদিত নয়।

পরীক্ষার মামলা

সামঞ্জস্যের শর্তটি প্রতিসম হয়, সুতরাং দুটি ইনপুট অদলবদল করে আউটপুট পরিবর্তন করা উচিত নয়।

E G -> 1
E E -> 0
aB Bc -> 1
YY tY -> 1
abcd bcda -> 0
abcXd bxcda -> 4
Hello Hello -> 0
Hello olHel -> 1
aBaXYa aXYaBa -> 1
aXYaBa aBaXYa -> 1
HHHHHH HHttHH -> 2
abcdab cdabcd -> 2
XRRXXXXR XRXXRXXR -> 4
evveeetev tetevevev -> 7
vzzvzJvJJz vJJvzJJvJz -> 10
JJfcfJJcfJfb JcfJfbbJJJfJ -> 5
GhhaaHHbbhGGH HHaaHHbbGGGhh -> 9
OyDGqyDGDOGOGyG yDGqOGqDyyyyOyD -> 12
ffKKBBpGfGKpfGpbKb fGpbKbpBBBffbbbffK -> 9
UZuPPZuPdVdtuDdDiuddUPtUidtVVV dtUPtUidtVVVtDZbZZPuiUZuPPZuPd -> 21

লিডারবোর্ড

লিডারবোর্ড তৈরি করতে এবং ভাষার দ্বারা বিজয়ীদের তালিকা দেওয়ার জন্য এখানে স্ট্যাক স্নিপেট। আপনার উত্তরটি প্রদর্শিত হবে তা নিশ্চিত করার জন্য, ফর্মের শিরোনাম দিয়ে এটি শুরু করুন

## Language, N bytes

স্ট্রাইকথ্রু ট্যাগ ব্যবহার করে আপনি শিরোনামে পুরানো স্কোর রাখতে পারেন: 57<s>57</s> হিসাবে প্রদর্শিত হবে ।

উত্তর:


8

পাইথ, 16

lhf}QjT,vzvz+k.:

A এর সংক্ষিপ্ততম স্ট্রিংটি সন্ধান করুন যা বি ফলাফলের দুটি কপির মধ্যে সন্নিবেশ করানো হয় এমন স্ট্রিংয়ে যা এ থাকে in

দ্বিতীয় লাইনে কোট না থাকলে এটি দুটি বাইট সংক্ষিপ্ত হতে পারে, তবে এটি অদ্ভুত বোধ করে?

পরীক্ষা স্যুট


4

পাইথন 3, 155 168 157 বাইট

মোট দৈর্ঘ্য A। শুরুতে তুলনা Aশেষে Bএবং বিয়োগ যে মোট থেকে। প্রারম্ভের সাথে Bশেষের সাথে তুলনা করুনA এবং বিয়োগ যে মোট থেকে। মোট দৈর্ঘ্যের সমান না হলে মোটের নিরঙ্কুশ মানটি প্রদান করুন, সেক্ষেত্রে 0 প্রদান করুন return

def f(A,B):
    T=L=len(A)
    C=D=1
    for i in range(L,0,-1):
        if A[:i]==B[-i:]and C:
            T,C=T-i,0
        if A[-i:]==B[:i]and D:
            T,D=T-i,0
    return (0,abs(T))[T!=-L]

সম্পাদনা:f("abcdab","cdabcd")==2 কেস হ্যান্ডেল করুন


3
দুর্ভাগ্যক্রমে এটি কার্যকর হয় না f("abcdab", "cdabcd")যার জন্য ২ হওয়া উচিত
নীল

@ নিল ভাল ধরা। আমি পরীক্ষার ক্ষেত্রে এটি যুক্ত করব।
Zgarb


@ mEQ5aNLrK3lqs3kfSa5HbvsTWe0n আমি চিত্রটি দেখছিলাম এবং ভাবছিলাম 'ইমোজি ব্যবহার করার জন্য এটি একটি নিফটি ডিবাগার ধারণা, তবে আমি কোনও বাগ দেখতে পাচ্ছি না ...'। আমি মনে করি যে অ্যাড-অনটি এই সাইটে সর্বনাশ করবে।
ননলাইনফর্ট

3

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

.*?(?<=^(?=(.*)(?<4-3>.)*(.*) \2.*\1$)(.)*).+
$#4

এটি অনলাইন চেষ্টা করুন! (একবারে সমস্ত পরীক্ষা চালানোর জন্য সামান্য সংশোধিত।)

কৌশলটি হ'ল আমাদের যে অংশটি Aআমরা খুঁজে পাই না তার পিছনে আমাদের পিছনে ট্র্যাক করা দরকার Bএবং এখন পর্যন্ত আমি বিরক্তিকর বর্ণনাকারী এবং ভারসাম্যহীন গোষ্ঠীগুলি ছাড়া এটি করার কোনও উপায় খুঁজে পেলাম না।


3

জल्फ, 40 বাইট

Wά)Ζ0W<ζli)? h++i]Iζ+ζniIoά0nΖhζ}onhn}wn

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

আমি জল্ফের কাছে বেশ নতুন, এটি বের করার সময় অনেক কিছু শিখেছি। কিছুটা বিশ্রী মনে হচ্ছে, তবু সম্ভবত আরও নিচে গল্ফ করা যেতে পারে। এমনকি এই ব্যাখ্যাটি লেখার সময় 2 বাইট ছুঁড়ে ফেলেছে।

ব্যাখ্যা:

  Wά)                                      While ά (initialized to 16)
     Ζ0                                    Set ζ to 0
       W<ζli)                              While ζ < length(A)
             ? h++i]Iζ+ζniIoά0n            Set ά to 0 if (A + a substring from B of length n + A) contains B
                               Ζhζ         Increment ζ
                                  }onhn    Increment n (initialize to 0
                                       }wn Decrement n and print

আমি আন্তরিকতার সাথে চেষ্টা করিনি, এবং এটি একটি সর্বোত্তম সমাধান হতে পারে, তবে আমি প্রস্তাব দিচ্ছি যে রেঞ্জগুলির উপরে মানচিত্র তৈরির চেষ্টা করা উচিত। ( s0zliআপনি যদি এই পদ্ধতির চেষ্টা করতে চান তবে আপনাকে একটি অ্যারে দেবে [0 ... দৈর্ঘ্য i])
কনার ও'ব্রায়ান

@ সি ও'ব হুম, আমি একটি চেহারা দেব ... এছাড়াও এমন একটি আইফ্যান্ড কমান্ড আছে যা ডকুমেন্টেশন / উত্সটি দেখার সময় আমি জিম করেছিলাম বা একমাত্র বিকল্প? অপ্রাসঙ্গিক তৃতীয় যুক্তি দিয়ে?
ফুলে

?জল্ফ যদি থাকে তবে এটির সবচেয়ে কাছাকাছি। এটি যদি একটি বার্ষিক মত। ?ABCs returns তবে যদি সত্য হয়, এবং Cঅন্যথায়।
কনর


2

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

(a,b)=>{for(i=0;;i++)for(j=i;j<=a.length;j++)if(b.startsWith(a.slice(j))&&b.endsWith(a.slice(0,j-i)))return i}

মাঝের বাইরে দীর্ঘ টুকরো টুকরো টুকরো টুকরো করে কাটা দিয়ে কাজ করে aযতক্ষণ না তারা দুটি প্রান্তের সাথে মেলে b। লুপটি অসীম নয় কারণ এটি আগে বা আগে থামবে i == a.length

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