গণিত 188 185 170 115 130 46 48 চর
ব্যাখ্যা
পূর্ববর্তী সংস্করণগুলিতে, আমি একে অপরের থেকে 1 এর দাবাবোর্ড দূরত্বের অবস্থানের একটি গ্রাফ তৈরি করেছি। GraphComponents
তারপরে দ্বীপের সংখ্যা প্রকাশিত হয়েছে, প্রতিটি উপাদান হিসাবে এক।
বর্তমান সংস্করণটি MorphologicalComponents
অ্যারেতে এমন অঞ্চলগুলির ক্লাস্টারগুলি সন্ধান এবং সংখ্যাটি ব্যবহার করতে ব্যবহার করে - যেসব অঞ্চলে 1
শারীরিকভাবে সুসংগত। গ্রাফিকিং অপ্রয়োজনীয়, এর ফলে কোডের বিশাল অর্থনীতি দেখা যায়।
কোড
Max@MorphologicalComponents[#/.{"."->0,"*"->1}]&
উদাহরণ
Max@MorphologicalComponents[#/.{"."->0,"*"->1}]&[{{".", ".", ".", ".", ".", ".", ".", ".", ".", "*", "*"}, {"*", "*", ".", ".", ".", ".", ".", ".", "*", "*", "*"}, {".", ".", ".", ".", ".", ".", ".", ".", ".", ".", "."}, {".", ".", ".", "*", ".", ".", ".", ".", ".", ".", "."}, {"*", ".", ".", ".", ".", ".", ".", ".", ".", "*", "."}, {"*", ".", ".", ".", ".", ".", ".", ".", ".", ".", "*"}}]
5
কিভাবে এটা কাজ করে
ডেটা একটি অ্যারের হিসাবে ইনপুট হয়; ম্যাথমেটিকাতে, এটি তালিকার একটি তালিকা।
ইনপুট অ্যারেতে, ডেটা প্রতিস্থাপনের মাধ্যমে 1
'গুলি এবং এর'তে রূপান্তরিত হয়0
/.{"."->0,"*"->1}
যেখানে /.
একজন পোতা ফর্ম ReplaceAll
প্রতিস্থাপন বিধি দ্বারা অনুসরণ করে। এটি মূলত অ্যারেটিকে একটি কালো এবং সাদা চিত্রে রূপান্তরিত করে। আমাদের যা করতে হবে তা হ'ল ফাংশনটি প্রয়োগ করা Image
,।
Image[{{".", ".", ".", ".", ".", ".", ".", ".", ".", "*", "*"}, {"*", "*", ".", ".", ".", ".", ".", ".", "*", "*", "*"}, {".", ".", ".", ".", ".", ".", ".", ".", ".", ".", "."}, {".", ".", ".", "*", ".", ".", ".", ".", ".", ".", "."}, {"*", ".", ".", ".", ".", ".", ".", ".", ".", "*", "."}, {"*", ".", ".", ".", ".", ".", ".", ".", ".", ".", "*"}} /. {"." -> 0, "*" -> 1}]
সাদা স্কোয়ারগুলি মানটির সাথে মিল রয়েছে, 1
নীচের চিত্রটিতে কিছুটা পদক্ষেপ অ্যাপ্রোচ ব্যবহার করা হয়েছে। ইনপুট ম্যাট্রিক্সে কেবলমাত্র 1
'গুলি এবং 0
' গুলি রয়েছে। আউটপুট ম্যাট্রিক্স একটি সংখ্যার সাথে প্রতিটি রূপচর্চা ক্লাস্টার লেবেল করে। (আমি MatrixForm
তাদের দুটি মাত্রিক কাঠামো হাইলাইট করতে ইনপুট এবং আউটপুট ম্যাট্রিক্স উভয়কেই জড়িয়ে রেখেছি ))
MorphologicalComponents
1
প্রতিটি কক্ষের ক্লাস্টার সংখ্যার সাথে সম্পর্কিত একটি পূর্ণসংখ্যার সাথে এর প্রতিস্থাপন করে ।
Max
বৃহত্তম ক্লাস্টার নম্বর প্রদান করে।
দ্বীপপুঞ্জ প্রদর্শন করা হচ্ছে
Colorize
প্রতিটি দ্বীপ অনন্যভাবে রঙ করবে।