একটি অ্যারের সংলগ্ন subarrays থেকে অঙ্কের সংখ্যা গণনা করা হচ্ছে


12

আমাদের সমস্ত সাথে একটি অ্যারে ।a[1n]a[i]>0

এখন আমাদের তার subarrays থেকে কতগুলি স্বতন্ত্র যোগফল তৈরি হতে হবে তা খুঁজে বের করতে হবে (যেখানে একটি subarray অ্যারের সংলগ্ন পরিসীমা, কিছু জন্য , যোগফলটি সকলের যোগফল) সাবহারির উপাদানগুলি)। উদাহরণস্বরূপ, যদি তবে উত্তরটি 4: আমরা গঠন করতে পারি ।a[jk]j,ka=[1,2,1]1,2,3,4

আমি সময়ে স্বতন্ত্র অঙ্কের সংখ্যা গণনা করতে জানি ।O(n2)

তদ্ব্যতীত, আমি বুঝতে পেরেছি এটি শাস্ত্রীয় সমস্যার মতো যেখানে আমাদের একটি স্ট্রিংয়ের পৃথক সাবস্ট্রিংয়ের সংখ্যাটি সন্ধান করতে হবে। আমি একটি প্রত্যয় অ্যারে তৈরি করার এবং এটি একই ধরণের ( সময়ে) সমাধান করার সম্ভাবনা নিয়ে ভাবছিলাম of তবে এখানে কাজ করার জন্য কীভাবে এটি পরিবর্তন করতে হবে তা আমি বুঝতে সক্ষম হয়েছি। উদাহরণস্বরূপ, আমরা যদি জন্য প্রত্যয় অ্যারে ব্যবহার করি তবে আমরা চারটি গ্রহণযোগ্যতার পরিবর্তে 5 টি কেস পাব। প্রত্যয় অ্যারে ব্যবহার করে এটি করা কি সম্ভব বা আমি ভুল দিকে চিন্তা করছি?O(n)a=[1,2,1]

এছাড়াও আরও একটি দিক রয়েছে যা আমি ভাবছিলাম Div ভাগ করুন এবং জয় করুন। আমি যদি অ্যারেটিকে একক উপাদানে হ্রাস না করা হয় প্রতিবারে দুটি ভাগে ভাগ করে নিই Like একটি একক উপাদানের একটি যোগফল থাকতে পারে। এখন যদি আমরা দুটি একক উপাদান একত্রিত করি, তবে এটি দুটি উপায়ে করা যেতে পারে: যদি উভয় একক রেঞ্জের উপাদান একই থাকে তবে আমরা 2 টি বিভিন্ন পরিমাণ পাই, বা উভয়েরই আলাদা উপাদান থাকলে আমরা 3 টি পৃথক অঙ্ক পাই। তবে আমি ১ এর চেয়ে বেশি দৈর্ঘ্যের অ্যারে মার্জ করার জন্য এটি সাধারণ করতে সক্ষম হচ্ছি না কি দুটি মি আকারের অ্যারেগুলিকে একীভূত করা এবং এর উত্তর পাওয়া সম্ভব ?O(m)


যদিও আমি তাত্ক্ষণিকভাবে দেখতে পাচ্ছি না যে আপনি এটি থেকে কীভাবে আপনার সমস্যার সমাধান পেতে পারেন তবে সর্বোচ্চ সুব্রায় সমস্যার কাঠামো আপনার বর্ণিত সমস্যার সাথে সমান এবং তার মধ্যে ডিভাইড-অ্যান্ড বিজয়ের সমাধান রয়েছে যা চলে runs । । O(n lg n)
আইজাক ক্লিনম্যান

আমি নিম্নলিখিত সমস্যাটি দিয়ে শুরু করার পরামর্শ দেব: একই অঙ্কের সাথে দুটি অন্তর রয়েছে কিনা তা সিদ্ধান্ত নেওয়া কতটা কঠিন? এই সমস্যার 3SUM- কঠোরতা প্রমাণ করার জন্য এটি লোভনীয়, তবে এখনও পর্যন্ত আমি সক্ষম হয়ে উঠতে পারি নি।
যুবাল ফিল্মাস

উত্তর:


2

আপনি সবচেয়ে খারাপ অবস্থাতেও অবশ্যই চেয়ে ভাল হতে পারবেন না যেহেতু বিভিন্ন অঙ্কের সংখ্যা ।Θ ( এন 2 )O(n2)Θ(n2)

উদাহরণস্বরূপ অ্যারে বিবেচনা করুন । এখানে প্রতিটি স্বতন্ত্র subarrays এর আলাদা আলাদা যোগফল রয়েছে।এন ( এন + 1 )[1,2,4,8,,2n]n(n+1)2


"প্রায় অবশ্যই" সমস্যাটির কারণ হিসাবে আউটপুট হিসাবে অঙ্কের মানগুলির প্রয়োজন হয় না। তবে আমি মনে করি কমপক্ষে বেশিরভাগ মান নির্ধারণ না করে সদৃশগুলি এড়ানো যায়।


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