এই স্ট্যাক ওভারফ্লো পোস্টটি দ্বারা অনুপ্রাণিত ।
ভূমিকা
বব এর কাজ স্প্রেডশীট তৈরি এবং তাদের সংগঠিত করা। তিনি যেভাবে তাদের সংগঠিত করেছেন তা বব ব্যতীত খুব কম লোকই জানেন তবে তিনি একই গ্রুপের অধীনে থাকা প্রতিটি স্প্রেডশিটের একটি তালিকা তৈরি করেন। তিনি যে স্প্রেডশিটটি তৈরি করেন তাতে প্রচুর ডেটা থাকে, তবে আমরা এখনই কেবলমাত্র এক টুকরো তথ্য খুঁজছি: যেদিন তিনি এই কাজটি শুরু করেছিলেন এবং যেদিন সে স্প্রেডশিট তৈরি করেছিল তার মধ্যে কত দিন রয়েছে। প্রথম দিন তিনি দুটি স্প্রেডশিট তৈরি করেছেন, সেগুলিকে উভয় হিসাবেই 0
নোট করেছেন এবং তাদের যথাযথ স্থানে সাজিয়েছেন।
এখন, তাঁর বস প্রতিদিন কী ধরণের স্প্রেডশিট ঘটেছিল তার একটি পর্যালোচনা জিজ্ঞাসা করছেন, এবং এমন কিছু কোড লিখে আপনার কাজ যা ববকে বুঝতে পারে; হাতে হাতে এটি করার জন্য তাঁর কাছে অনেক বেশি স্প্রেডশিট রয়েছে।
ইনপুট
বব যে তথ্য তিনি আপনাকে দিয়েছেন তা (0-বা -1 সূচকযুক্ত) জেগড অ্যারে আকারে আসে যেখানে প্রতিটি ড্যাটাম ফর্মের হয় x = a[i][j]
। a
এটাকে আমি নিজেই জ্যাগড অ্যারে বলছি, i
এটি স্প্রেডশিটের ধরণ এবং x
অ্যারে তৈরি হওয়ার তারিখ। j
গুরুত্বহীন।
কাজটি
তাদের ধরণের দ্বারা সজ্জিত স্প্রেডশীট তৈরির দিনগুলির একটি দাগযুক্ত অ্যারে দেওয়া, স্প্রেডশীট তৈরির দিন দ্বারা সজ্জিত স্প্রেডশিট প্রকারের জাগযুক্ত অ্যারেটি ফিরিয়ে দিন।
উদাহরণ
বব আপনাকে কেবল এই বিমূর্ত ডেটা দিয়ে ছাড়বে না। তিনি আমাকে তাঁর কিছু স্প্রেডশিটের একটি সাবসেট দিয়েছেন যা আপনাকে কী বলে মনে হচ্ছে তা নির্ধারণে সহায়তা করতে।
উদাহরণ ইনপুট (0-সূচকযুক্ত):
a = [
[3,2,5,0], # Bob doesn't necessarily sort his lists
[1,3],
[2,1,0,4],
[4,5,3],
[6,6]
]
উদাহরণ আউটপুট (মন্তব্য সহ, অবশ্যই কোনটি প্রয়োজন হয় না):
output = [
[0,2] # On day 0, Bob made one type 0 and one type 2 spreadsheet
[1,2] # On day 1, Bob made one type 1 and one type 2 spreadsheet
[0,2] # On day 2, Bob made one type 0 and one type 2 spreadsheet
[0,1,3] # On day 3, Bob made one type 0, one type 1, and one type 3 spreadsheet
[2,3] # On day 4, Bob made one type 2 and one type 3 spreadsheet
[0,3] # On day 5, Bob made one type 0 and one type 3 spreadsheet
[4,4] # On day 6, Bob made two type 4 spreadsheets
]
নোট করুন যে বব সবসময় প্রতিদিন দুটি স্প্রেডশিট তৈরি করে না, এবং ফলে আউটপুটটিও জাজ করা যেতে পারে। তবে তিনি সর্বদা প্রতিদিন কমপক্ষে একটি স্প্রেডশিট তৈরি করেন, সুতরাং আউটপুটটিতে কখনই খালি অ্যারে থাকা প্রয়োজন হবে না - যদিও আপনার আউটপুটটির শেষে খালি অ্যারে রয়েছে, আপনাকে সেগুলি সরিয়ে দেওয়ার দরকার নেই।
আরও পরীক্ষার কেস:
[[3,5,6,2],[0,0,0],[1,0,3,4]] -> [[1,1,1,2],[2],[0],[0,2],[2],[0],[0]]
[[-1]] -> Undefined behavior, as all input numbers will be non-negative integers.
[[0],[0],[],[0]] -> [[0,1,3]]
আউটপুটটির অভ্যন্তরীণ তালিকাগুলি বাছাই করার দরকার নেই।
সর্বদা হিসাবে, কোনও স্ট্যান্ডার্ড ফাঁক নেই এবং অবশ্যই সংক্ষিপ্ততম কোড জিততে পারে।
(যেহেতু এটি আমার প্রথম প্রশ্ন, দয়া করে এটির উন্নতি করার জন্য আমি কী করতে পারি তা আমাকে জানান))
[[0 0]]
আউটপুট দিতে পারে [[0 0] []]
?