TGViewer
انجمن علمی علوم کامپیوتر دانشگاه رازی انجمن علمی علوم کامپیوتر دانشگاه رازی @razicsa · 458 subscribers
Post #54 208
انجمن علمی علوم کامپیوتر دانشگاه رازی 💻 چالش الگوریتم: ضرب استثنایی! 👨‍💻تابعی بنویسید که برای هر عنصر، حاصل‌ضرب بقیه عناصر لیست را برگرداند. ⚠️ چالش اصلی: حل مسئله بدون استفاده از تقسیم و با پیچیدگی زمانی O(n). ℹ️ الگوی کد شما باید مطابق زیر باشه: def exceptional_product(arr): """ دریافت…
🏆 الگوریتم برتر چالش «ضرب استثنایی»
وقتشه که بریم سراغ تحلیل و معرفی راه حل بهینه!🔥

💡ایده کلیدی راه‌حل بهینه:
به جای اینکه برای هر عنصر، کل آرایه رو از نو ضرب کنیم (راه حل O(n^2) )، می‌تونیم با دو بار پیمایش کل آرایه، به جواب برسیم. این الگوریتم هوشمندانه از حاصل‌ضرب‌های پیشوندی و پسوندی (Prefix & Suffix Products) استفاده می‌کنه:

▪️پیمایش اول (از چپ به راست): یک آرایه کمکی می‌سازیم که در هر خانه i، حاصل‌ضرب تمام اعداد قبل از i ذخیره شده.
▪️پیمایش دوم (از راست به چپ): حاصل‌ضرب تمام اعداد بعد از i را در مقدار فعلی خانه i ضرب می‌کنیم.
✅اینطوری با پیچیدگی زمانی O(n) و حافظه اضافی O(n) (یا حتی O(1)) به جواب می‌رسیم!


🥇تبریک به آقای امیررضا فرهمند که تونستن از بین همه‌ دوستانی که زحمت کشیدن، بهترین الگوریتم رو ارائه بدن.🎉

# بهینه ترین الگوریم با پیچیدگی زمانی O(n) و حافظه O(1)

def product_except_self(nums):
n = len(nums)
if n == 0:
return []

# 1. مقدار اولیه آرایه جواب را با حاصل‌ضرب‌های پیشوندی پر می‌کنیم
result = [1] * n
prefix_product = 1
for i in range(n):
result[i] = prefix_product
prefix_product *= nums[i]

# 2. با حاصل‌ضرب‌های پسوندی، نتیجه را نهایی می‌کنیم
suffix_product = 1
for i in range(n - 1, -1, -1):
result[i] *= suffix_product
suffix_product *= nums[i]

return result


❕یادمون باشه، هدف این چالش‌ها تقویت ذهن و لذت بردن از حل مسئله است، نه فقط رسیدن به جواب!


این فقط یه چالش آزمایشی از طرف ما بود.
منتظر چالش‌های جذاب بعدی باشید! 🚀

#الگوریتم_برتر / #پایتون / #تحلیل_کد / #RaziCSA


{ @RaziCSA }
  • 🔥 16
  • 👌 2
More from @razicsa
  1. Oct 16, 2026🔻تمدید مهلت ثبت‌نام مسابقه RCPC با توجه به تعداد بالای فرم‌های ثبت‌نام تکمیل‌نشده، مهلت ث…
  2. Oct 15, 2026انجمن علمی علوم کامپیوتر دانشگاه رازی pinned a photo
  3. Oct 15, 2026انجمن علمی آمار دانشگاه رازی کارگاه آموزشی SPSS از ورود داده تا تحلیل و تفسیر نتایج! 💻📈…
  4. Oct 14, 2026🤖🔥 ایده‌ات را به محتوای حرفه‌ای تبدیل کن! انجمن علمی هوش مصنوعی دانشگاه رازی با همکاری ش…
  5. Oct 10, 2026💻 تیمت رو بچین، کد بزن و پیش برو! اهل چالش‌های الگوریتمی و برنامه‌نویسی رقابتی هستی؟ وقتش…
  6. Oct 9, 2026📢🎓 همراه انجمن‌های علمی دانشگاه رازی باش! 🚀 دنبال برنامه‌ها و رویدادهای علمی دانشگاه هس…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →