دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: الگوریتم ها و ساختارهای داده ویرایش: 1 نویسندگان: Leonardo Rossi سری: ناشر: Independently published سال نشر: 2020 تعداد صفحات: 181 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 6 مگابایت
کلمات کلیدی مربوط به کتاب مشکلات مصاحبه برنامه نویسی: برنامه نویسی پویا (همراه با راه حل در پایتون): ساختار داده، پایتون، مصاحبه، برنامه نویسی پویا، تحلیل الگوریتم، پیچیدگی الگوریتم
در صورت تبدیل فایل کتاب Programming Interview Problems: Dynamic Programming (with solutions in Python) به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب مشکلات مصاحبه برنامه نویسی: برنامه نویسی پویا (همراه با راه حل در پایتون) نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
• آیا برای مصاحبه برنامه نویسی آماده می شوید؟ • آیا دوست دارید در یکی از غول های اینترنتی مانند گوگل، فیس بوک، آمازون، اپل، مایکروسافت یا نتفلیکس کار کنید؟ • آیا به دنبال شغل مهندس نرم افزار هستید؟ • آیا در رشته کامپیوتر تحصیل می کنید یا برنامه نویسی؟ • آیا می خواهید مهارت های برنامه نویسی خود را بهبود ببخشید؟ اگر پاسخ هر یک از این سوالات مثبت است، این کتاب برای شما مناسب است! این کتاب حاوی پاسخ ها و توضیحات بسیار مفصلی برای رایج ترین مشکلات برنامه نویسی پویا است که در مصاحبه های برنامه نویسی پرسیده می شود. راهحلها شامل کدهای کاملاً نوشته شده، با نظرات فراوان، همراه با توضیحات شفاهی، صدها طرح، نمودار و مثالهای دقیق است تا به شما کمک کند حتی سختترین مشکلات را درک کنید. هدف این است که شما الگوها و اصول مورد نیاز برای حل مشکلات برنامه نویسی پویا را که قبلاً هرگز ندیده اید، بیاموزید. در اینجا چیزی است که به دست خواهید آورد: • یک کتاب 180 صفحه ای که مشکلات برنامه نویسی پویا را ارائه می کند که اغلب در مصاحبه ها پرسیده می شوند. • راه حل های متعدد برای هر مسئله، از پاسخ های ساده اما ساده لوحانه شروع می شود که به تدریج تا رسیدن به راه حل بهینه بهبود می یابند. • مثالها و توضیحات دقیق فراوان، به طوری که میتوانید فوراً نحوه کار راهحل را ببینید. • بیش از 350 نقشه و نمودار که به فراگیران بصری توجه می کند. • توضیحات شفاهی واضح و دقیق در مورد نحوه برخورد با مشکلات و نحوه عملکرد کد. • تجزیه و تحلیل پیچیدگی زمان و مکان. • بحث در مورد انواع دیگر همان مشکل، همراه با راه حل. • آزمون های واحد، از جمله استدلال پشت انتخاب هر یک (شناسایی مورد لبه، ارزیابی عملکرد و غیره). • پیشنهاداتی در مورد اینکه چه سوالات روشنگری را باید برای هر مشکل بپرسید. • راه حل های متعدد برای مشکلات، در صورت لزوم. • نکات عمومی اجرای پایتون. با آرزوی موفقیت برای شما در مصاحبه های خود!
• Are you preparing for a programming interview? • Would you like to work at one of the Internet giants, such as Google, Facebook, Amazon, Apple, Microsoft or Netflix? • Are you looking for a software engineer position? • Are you studying computer science or programming? • Would you like to improve your programming skills? If the answer to any of these questions is yes, this book is for you! The book contains very detailed answers and explanations for the most common dynamic programming problems asked in programming interviews. The solutions consist of cleanly written code, with plenty of comments, accompanied by verbal explanations, hundreds of drawings, diagrams and detailed examples, to help you get a good understanding of even the toughest problems. The goal is for you to learn the patterns and principles needed to solve even dynamic programming problems that you have never seen before. Here is what you will get: • A 180-page book presenting dynamic programming problems that are often asked in interviews. • Multiple solutions for each problem, starting from simple but naive answers that are gradually improved until reaching the optimal solution. • Plenty of detailed examples and walkthroughs, so that you can see right away how the solution works. • 350+ drawings and diagrams which cater towards visual learners. • Clear and detailed verbal explanations of how to approach the problems and how the code works. • Analysis of time and space complexity. • Discussion of other variants of the same problem, with solutions. • Unit tests, including the reasoning behind choosing each one (edge case identification, performance evaluation etc.). • Suggestions regarding what clarification questions you should ask, for each problem. • Multiple solutions to the problems, where appropriate. • General Python implementation tips. Wishing you the best of luck with your interviews!
Preface General advice for the interview The Fibonacci sequence Solution 1: brute force, O(2^n) time Solution 2: dynamic programming, top-down Solution 2: dynamic programming, bottom-up Optimal stock market strategy Solution 1: dynamic programming, top-down, O(n) time Solution 2: dynamic programming, bottom-up, O(n) time Variation: limited investment budget Variation: limited number of transactions Change-making Clarification questions Solution 1: dynamic programming, top-down, O(nv) time Solution 2: dynamic programming, bottom-up, O(nv) time Solution 3: dynamic programming + BFS, bottom-up, O(nv) time Variant: count the number of ways to pay (permutations) Solution: dynamic-programming, top-down, O(nv) Variant: count the number of ways to pay (combinations) Solution: dynamic-programming, top-down, O(nv) Number of expressions with a target result Clarification questions Solution 1: brute-force, O(2^n) time Solution 2: dynamic programming, top-down, O(nS) time Solution 3: dynamic programming + BFS, bottom-up, O(nS) time Unit tests Partitioning a set into equal-sum parts Clarification questions Solution 1: dynamic programming, top-down, O(nS) time Splitting a string without spaces into words Clarification questions Solution 1: dynamic programming, top-down, O(nw) time Solution 2: dynamic programming + BFS/DFS, bottom-up, O(nw) time The number of binary search trees Solution 1: dynamic programming, top-down, O(n^2) time The maximum-sum subarray Clarification questions Solution 1: dynamic programming, O(n) time, O(n) space Solution 2: dynamic programming, O(n) time, O(1) space Unit tests The maximum-product subarray Clarification questions Solution 1: greedy, two-pass, O(n) time Solution 2: dynamic programming, one-pass, O(n) time Unit tests Shortest pair of subarrays with target sum Clarification questions Solution 1: dynamic programming + sliding window, O(n) time, O(n) space Longest palindromic substring Clarification questions Solution 1: brute force, O(n^3) Checking if a string is a palindrome Checking if a string is a palindrome: a faster way Putting it all together Solution 2: dynamic programming, O(n^2) Solution 3: dynamic programming, O(n) Unit tests Longest valid parentheses substring Clarification questions Solution 1: dynamic programming, bottom-up, O(n) Solution 3: dynamic programming, top-down, O(n) Unit tests Longest increasing subsequence Clarification questions Solution 1: dynamic programming, bottom-up, O(n^2) time, O(n^2) space Solution 2: dynamic programming, bottom-up, O(n^2) time, O(n) space Variant: count the number of solutions Solution: dynamic programming, bottom-up, O(n^2) time, O(n) space Longest arithmetic subsequence Clarification questions Solution 1: dynamic programming, bottom-up, O(n^2) time, O(n^2) space Unit tests Dealing the best hand of cards Clarification questions Solution 1: brute force, O(n^2) time Solution 2: dynamic programming, O(n) time Unit tests Number of ways to climb stairs Clarification questions Solution 1: dynamic programming, top-down, O(n) time Solution 2: dynamic programming, bottom-up, O(n) time Solution 3: dynamic programming, bottom-up, O(1) time Unit tests Number of paths through maze Clarification questions Solution 1: dynamic programming, top-down, O(n^2) time Solution 2: dynamic programming, bottom-up, O(n^2) time Solution 3: dynamic programming, bottom-up, O(n^2) time, linear space Unit tests Maximum-score path through maze Clarification questions Solution 1: dynamic programming, top-down, O(n^2) time Solution 2: dynamic programming, bottom-up, O(n^2) time Solution 3: dynamic programming, bottom-up, O(n^2) time, linear space Unit tests Subarray sum Clarification questions Solution 1: brute-force, O(mn) Solution 2: dynamic programming, O(m + n) Submatrix sum Clarification questions Solution 1: brute-force, O(mn^2) Solution 2: dynamic programming, O(m + n^2) Unit tests Largest square submatrix of ones Clarification questions Solution 1: brute-force, O(n^5) Solution 2: dynamic programming, O(n^2) Largest rectangle in skyline Clarification questions Solution 1: brute-force, O(n^3) Solution 2: dynamic programming, O(n^2) Solution 3: dynamic programming + stack, O(n) Largest submatrix of ones Clarification questions Solution 1: brute-force, O(n^6) Solution 2: dynamic programming, O(n^3) Solution 3: dynamic programming, O(n^2) Interleaved strings Clarification questions Solution 1: brute-force, O(2^n) Solution 2: dynamic programming, O(n^2) Regular expression matching Clarification questions Solution 1: brute-force, O(2^n) Solution 2: dynamic programming, O(n^2) Unit tests