داستان کاربر EP3: نحوه تمرین مشکلات LeetCode

LeetCode یک پلت فرم آنلاین برای آماده سازی مصاحبه کدنویسی است. این سرویس مشکلات کدنویسی و الگوریتمی در نظر گرفته شده برای کاربران برای تمرین کدنویسی را فراهم می کند. LeetCode در بین جویندگان کار و علاقه مندان به کدنویسی به عنوان منبعی برای مصاحبه های فنی و مسابقات کدنویسی محبوبیت پیدا کرده است.
در گذشته، هنگام استفاده از LeetCode، ترجیح می دادم افکار حل مسئله خود را با استفاده از ویرایشگر txt یا کاغذ ساده بنویسم و سپس با استفاده از VS Code کدنویسی کنم. وقتی با مشکلاتی مواجه شدم که نمیتوانستم آنها را درک کنم، باید با Google یا ChatGPT مشورت کنم. اگرچه این روش به روشن شدن افکار من کمک کرد، اما حل یک مشکل نیاز به جابجایی مکرر بین چندین ابزار داشت. این نه تنها زمان زیادی را صرف کرد، بلکه تداوم تفکر من را قطع کرد و در نتیجه کارایی کلی پایینی داشت. بنابراین، من به دنبال راه حلی هستم که بتواند این روند را ساده کند و کارایی تمرین من را بهبود بخشد.
اخیراً یکی از دوستان یک محصول Cloud IDE مجهز به هوش مصنوعی را به نام پیشنهاد کرد MarsCode به من تجربه کلی کاملاً شبیه به VS Code است، در حالی که یک محیط توسعه آماده برای استفاده را نیز فراهم می کند که از اشکال زدایی و اجرا پشتیبانی می کند. بهترین بخش این است که دستیار هوش مصنوعی داخلی می تواند با درک کامل زمینه، پاسخ های دقیق تری ارائه دهد. در مرحله بعد، من تجربه خود را از استفاده از MarsCode به اشتراک خواهم گذاشت.
آماده سازی
شما نیاز به یک حساب کاربری برای MarsCode دارید که دریافت آن بسیار آسان است. از وب سایت رسمی MarsCode در MarsCode دیدن کنید و سپس در حساب خود ثبت نام کنید (یا وارد شوید).
MarsCode قالب های توسعه مختلفی را ارائه می دهد که به کاربران امکان می دهد بدون نگرانی در مورد تنظیم محیط برنامه نویسی، کدنویسی را شروع کنند. به عنوان مثال، من Node.js را در اینجا انتخاب کردم.
پس از ایجاد، میتوانید درست مانند یک IDE محلی کدنویسی کنید.⬆️
می توانید index.js را با کلیک کردن روی دکمه “Run” یا اجرای node index.js در ترمینال اجرا کنید.⬆️
تجربه با MarsCode
معمولاً وقتی با مشکلی مواجه می شوم، ابتدا افکارم را روی کاغذ خراش یادداشت می کنم. این بار برای آزمایش قابلیتهای MarsCode، مستقیماً وارد مرحله کدنویسی شدم. بیایید نگاهی به یک مشکل کلاسیک LeetCode بیندازیم: “طولانی ترین زیر رشته پالیندرومیک”!
برای مشکلات LeetCode، میتوانیم با کمک MarsCode کد بنویسیم، یا میتوانیم پاسخ LeetCode را مستقیماً در IDE کپی کنیم و از قابلیتهای هوش مصنوعی برای درک مشکل و راهحل استفاده کنیم. دستیار هوش مصنوعی MarsCode بسیار قدرتمند است و از ویژگی هایی مانند تولید کد و توضیح کد پشتیبانی می کند. MarsCode می تواند به من در یادگیری LeetCode به چندین روش کلیدی کمک کند.
کد نویسی
هنگام نوشتن کد، MarsCode سه راه برای کمک به کدنویسی ارائه می دهد:
- در حین کدنویسی در ویرایشگر، دستیار هوش مصنوعی اهداف شما را بر اساس زمینه و نظرات پروژه استنباط میکند و به صورت خودکار کد شما را تکمیل میکند.
- از طریق Inline AI Chat مستقیماً در ویرایشگر کد ایجاد کنید.
- با دستیار هوش مصنوعی در نوار چت جانبی چت کنید تا هوش مصنوعی مستقیماً کد را خروجی کند.
برای مثال در پروژه Node.js ایجاد شده در قسمت قبل می توانیم فراخوانی کنیم چت آنلاین هوش مصنوعی در index.js.
وقتی مشکل را وارد میکنیم، دستیار هوش مصنوعی اجرای تابع، حتی از جمله کد فراخوانی تابع را استنباط میکند!⬆️
پس از پذیرش کد روی دکمه Run کلیک کنید تا کد را تست کنید و نتیجه را ببینید.⬆️
اگر قسمتهایی وجود دارد که متوجه نمیشویم، میتوانیم از دستیار هوش مصنوعی بخواهیم آنها را توضیح دهد.⬆️
نوشتن موارد تست
حتی اگر MarsCode دارای قابلیت های کدگذاری عالی است، چه کد توسط هوش مصنوعی یا توسط خودمان تکمیل شود، ما می توانیم از موارد آزمایشی برای تأیید صحت کد استفاده کنیم.
در واقع، با کمک هوش مصنوعی، موارد تست ما می تواند جامع تر باشد. با در نظر گرفتن “طولانی ترین زیر رشته پالیندرومیک” به عنوان مثال، می توانیم از دستیار هوش مصنوعی برای تولید موارد آزمایشی با استفاده از موکا استفاده کنیم.
به این ترتیب ما می توانیم به راحتی و به سرعت از طریق موارد تست صحت را بررسی کنیم.⬆️
اشکال زدایی
MarsCode قالب هایی را ارائه می دهد که قبلاً از قابلیت های اشکال زدایی پشتیبانی می کنند. اگر در مورد فرآیند اجرای کد تردیدی وجود دارد، می توانیم از ویژگی Debug نیز برای درک مرحله به مرحله اجرای کد استفاده کنیم.
پانل Debug را در سمت راست باز کنید و روی دکمه “شروع اشکال زدایی” کلیک کنید.⬆️
کاوش راه حل های بهتر با هوش مصنوعی
ما می توانیم راه حل های بیشتری را با گفتگو با دستیار هوش مصنوعی MarsCode کشف کنیم. به عنوان مثال، در مثال قبلی، ما از الگوریتم گسترش مرکز برای طولانی ترین زیررشته پالیندرومیک، اما راه حل رایج دیگر این است برنامه نویسی پویا.
اگر با برنامه نویسی پویا آشنا نیستیم، می توانیم بیشتر بپرسیم: برنامه نویسی پویا چیست؟⬆️
همچنین می توانیم از دستیار هوش مصنوعی بخواهیم نمونه هایی از برنامه نویسی پویا را ارائه دهد. ⬆️
همانطور که می بینید، در MarsCode، دستیار هوش مصنوعی مانند یک هم تیمی عمل می کند و به ما کمک می کند تا به تدریج درک خود از مشکل را از طریق گفتگو افزایش دهیم.
نتیجه
به طور کلی، تجربه من با MarsCode عالی بوده است. ویژگی هایی مانند راه اندازی بدون دردسر، هوش مصنوعی رایگان و محیط های منابع برای اعتبارسنجی ایده ها و افزایش کارایی بسیار مفید هستند. با این حال، هنگام تمرین LeetCode، فرآیند فکری شما بسیار مهم است. توصیه می کنم ابتدا ایده های خود را سازماندهی کنید و سپس از MarsCode برای حل مشکلات استفاده کنید. این رویکرد جریان فکر را حفظ می کند و در عین حال از ابزارهای قدرتمندی که MarsCode ارائه می دهد استفاده می کند و به شما اطمینان می دهد که الگوریتم ها و تکنیک های کدگذاری را به طور موثر و محکم درک می کنید.
با آرزوی موفقیت بزرگ در تمرین LeetCode!🎉