Hamming দূরত্ব সমান দৈর্ঘ্যের দুটি স্ট্রিং মধ্যে অবস্থানের যা সংশ্লিষ্ট চিহ্ন ভিন্ন সংখ্যা।
দিন Pদৈর্ঘ্যের একটি বাইনারি স্ট্রিং হতে nএবং Tদৈর্ঘ্যের একটি বাইনারি স্ট্রিং হতে 2n-1। আমরা বাম থেকে ডানে ক্রমান্বয়ে এবং প্রতিটি- দৈর্ঘ্যের স্তরগুলির nমধ্যে হামিংয়ের দূরত্বগুলি গণনা করতে Pএবং nএটিকে Tএকটি অ্যারে (বা তালিকা) এ রাখতে পারি।
উদাহরণ হ্যামিং দূরত্ব ক্রম
যাক P = 101এবং T = 01100। এই জুটি থেকে আপনি হ্যামিং দূরত্বের ক্রমটি হলেন 2,2,1।
কার্য
বৃদ্ধির nথেকে শুরু n=1, বাইনারি স্ট্রিং সব সম্ভব জোড়া বিবেচনা Pদৈর্ঘ্যের nএবং Tদৈর্ঘ্য 2n-1। আছে 2**(n+2n-1)এমন জোড়া তাই Hamming দূরত্ব অনেক সিকোয়েন্স। তবে এই সিকোয়েন্সগুলির অনেকগুলি অভিন্ন হবে। কাজটি প্রতিটিটির জন্য কতগুলি পৃথক তার সন্ধান করা n।
আপনার কোডটির মান অনুযায়ী এক নম্বর আউটপুট করা উচিত n।
স্কোর
আপনার স্কোরটি nআমার মেশিনে 5 মিনিটের মধ্যে সর্বোচ্চ কোড পৌঁছায়। সময়টি মোট চলমান সময়ের জন্য, কেবল সেই সময়ের জন্য নয় n।
কে জিতলো
সর্বোচ্চ স্কোর প্রাপ্ত ব্যক্তিটি জিতে যায়। যদি দুই বা ততোধিক লোক একই স্কোর নিয়ে আসে তবে এটিই প্রথম উত্তর যা জিতবে।
উদাহরণ উত্তর
জন্য nথেকে 1থেকে 8অনুকূল উত্তর 2, 9, 48, 297, 2040, 15425, 125232, 1070553।
ভাষা ও গ্রন্থাগার
আপনার পছন্দ মতো যে কোনও উপলভ্য ভাষা এবং গ্রন্থাগার ব্যবহার করতে পারেন। যেখানে সম্ভব, আপনার কোডটি চালাতে সক্ষম হওয়াই ভাল হবে সুতরাং দয়া করে লিনাক্সে কীভাবে আপনার কোডটি চালানো / সংকলন করা যায় তার জন্য সম্পূর্ণ ব্যাখ্যা অন্তর্ভুক্ত করুন যদি সম্ভব হয় তবে।
আমার মেশিনের সময়গুলি আমার -৪-বিট মেশিনে চালিত হবে। এটি 8 জিবি র্যাম, এএমডি এফএক্স-8350 আট-কোর প্রসেসর এবং র্যাডিয়ন এইচডি 4250 সহ একটি স্ট্যান্ডার্ড উবুন্টু ইনস্টল This এর অর্থ এটিও আপনার কোডটি চালাতে সক্ষম হওয়া দরকার।
শীর্ষস্থানীয় উত্তর
- 11 সালে সি ++ feersum দ্বারা। 25 সেকেন্ড
- 11 সালে সি ++ অ্যান্ড্রু এপস্টাইন দ্বারা। 176 সেকেন্ড।
- 10 সালে জাভাস্ক্রিপ্ট নিল দ্বারা। 54 সেকেন্ড।
- 9 মধ্যে Haskell, nimi দ্বারা। 4 মিনিট এবং 59 সেকেন্ড।
- 8 জাভাস্ক্রিপ্ট মধ্যে fəˈnɛtɪk দ্বারা। 10 সেকেন্ড.
fastest-codeকোড লেভেল অপটিমাইজেশন এবং একটি ভাল অ্যালগরিদম উভয়ের মাধ্যমেই অপ্টিমাইজেশনের জন্য আরও জায়গা ছেড়েছে । সুতরাং আমি মনে করি যে faster-codeএটি চেয়ে ভাল faster-algorithm।