সংক্ষিপ্ত সাবস্ট্রিং সূচক


9

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

আমার এখানে যা আছে তা হ'ল ধরণের দলিল। এই দস্তাবেজের প্রতিটি লাইনে একটি শব্দ বা সংক্ষিপ্ত বাক্যাংশ রয়েছে। দস্তাবেজটি বাছাই করা হয়নি, তবে এটি ঠিক আছে আমি জানি সবকিছু কোথায়। আমি জিনিসগুলি দ্রুত অনুসন্ধানে কিছু সহায়তা ব্যবহার করতে পারি এবং তার জন্য আমার একটি দ্বিতীয় তালিকা প্রয়োজন। আপনি এখানে এসেছেন this এই দস্তাবেজের প্রতিটি পাঠ্যের জন্য আমার কিছু শনাক্তকারী প্রয়োজন। আমি যা কিছু করতে পারি CTRL+ Fতবে এটির একটি ফলাফল পাওয়ার জন্য এটি একেবারে প্রয়োজনের চেয়ে বেশি দীর্ঘ হতে পারে না।

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

(blank)
an apple
spiderman 3
7pm pick up laundry
tequila
fake mustache
dishes on wednesday
banana
biscuits
(blank)

উদাহরণ আউটপুট:

ap,3,7,q,f,w,ba,bi

আমি এখানে একই পৃষ্ঠাতে এসেছি তা নিশ্চিত করতে আমি এখানে নিজেকে পুনরাবৃত্তি করছি:

  • ইনপুট হ'ল লাইন ব্রেক দ্বারা বিচ্ছিন্ন আইটেমগুলির একটি তালিকা থাকা একটি ফর্ম্যাট করা পাঠ্য ফাইল। এটি এখানে টেক্সট ফর্ম্যাটে রয়েছে, একে "STUFF.TXT" বলা হয়
  • দস্তাবেজের প্রথম এবং শেষ লাইনটি খালি। প্রতিটি অন্যান্য লাইনে দৈর্ঘ্য> 0 এর এন্ট্রি থাকে।
  • ফাইলটিতে কেবলমাত্র বর্ণমালিক অক্ষর (সমস্ত নিম্ন কেস), স্পেস এবং লাইন ব্রেক রয়েছে।
  • পছন্দসই আউটপুটটি শনাক্তকারীদের একটি তালিকা, আমার মূল তালিকার মতো একই ক্রমে।
  • আমি প্রতিটি তালিকার আইটেমের জন্য একাধিক অনুসন্ধান শব্দ চাই না। যদি একাধিক উত্তর থাকে তবে একটি বাছুন, আমি কোনটি যত্ন করি না। উপরের উদাহরণে আমি 'এপি' বাছাই করেছি an appleতবে আপনি 'এন', 'এ', 'পিপি', 'পিএল' বা 'লে' বেছে নিতে পারতেন। 'আন' নয়, কারণ এটি banana
  • আমি আপনাকে আশ্বাস দিতে পারি, ফাইলটি কখনই খালি থাকে না এবং এতে কখনই সদৃশ থাকে না।
  • প্রয়োজনে , আপনি লাইন টার্মিনেটরে মিলতে পারেন। তবে তালিকার আইটেমগুলির মধ্যে পার্থক্য করার কোনও উপায় নেই (যেমন 'আপেল' এবং 'আপেল') কেবল তখনই এটি শেষ অবলম্বন।

স্ট্যান্ডার্ড লুফোলগুলি অনুমোদিত নয়। এছাড়াও, এটি কোড গল্ফ তাই সংক্ষিপ্ততম কোডের জয়।

আরও একটি উদাহরণ:

(blank)
ban
any
king
bean
yen
rake
raki
bar
(blank)

এবং এর আউটপুট:

ban,ny,g,be,ye,ke,aki,ar

1
@ কারপেট পাইথন এটি সবচেয়ে কমতম হওয়া উচিত। স্পেসগুলি ইনপুট এবং আউটপুট হতে পারে, এটি প্রশ্নের সাথে যুক্ত হয়েছে।
freekvd

যদি একটি স্ট্রিং অন্যটির প্রত্যয় হয় তবে আমরা অনুসন্ধান শব্দটির শুরুতে নিউলাইনগুলিও ব্যবহার করতে পারি?
মার্টিন ইন্ডার

@ মার্টিনব্যাটনার হ্যাঁ এজন্য নথির খালি লাইন দিয়ে শুরু হয় এবং শেষ হয়, সুতরাং প্রতিটি তালিকা আইটেমের শুরু এবং শেষের দিকে আপনার সেই নিউলাইনগুলি রয়েছে।
freekvd

4
আমি নিশ্চিত যে এই সমস্যাটি এনপি-সম্পূর্ণ। আমি মনে করি আমি এটির সাথে সঠিক কভার সমস্যার হ্রাস তৈরি করতে পারি।
FUZxxl

4
এটাই আরও বেশি যে আপনি কোনও সৃজনশীল সমাধান দেখতে পাবেন না কারণ ব্রুটে ফোর্সের চেয়ে ভাল কোনও সমাধান নেই।
FUZxxl

উত্তর:


3

পাইথ, 39 বাইট

Lsm.:bdtUbKfT.zj\,mhf!}Yjb-Kk+yky++bkbK

ক্রমবর্ধমান দৈর্ঘ্যের প্রতিটি স্ট্রিংয়ের সমস্ত সাবসেটকে ব্রুটফোর্স করে এবং যদি স্ট্রিংটি অন্য কোনওটির মধ্যে ঘটে থাকে তবে তা পরীক্ষা করে। যদি এটি কাজ না করে তবে এটি সমস্ত সাবসেট বাদে একই কাজ করবে \nstring\n


এটি পরীক্ষা করার সময় আমি একটি খারাপ টাইপের সংমিশ্রণ ত্রুটি পেয়েছি। pyth.herokuapp.com/…
freekvd

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