با توجه به مجموعه ای از اعداد، بزرگترین زیر مجموعه را پیدا کنید که مجموع آن کمتر از یا برابر با یک مجموع داده شده است.
[{"input": "مجموعه: {3,12,2,7,8,4} جمع هدف: 15", "output": "برای پیدا کردن بزرگترین زیر مجموعه که مجموع آن کمتر یا برابر با مجموع هدف باشد، می توانیم از یک روش برنامه نویسی پویا استفاده کنیم. ابتدا مجموعه را به ترتیب صعود مرتب می کنیم، و سپس یک ماتریس n * m dp ایجاد می کنیم، که در آن n اندازه مجموعه است و m مجموع هدف + 1 است. مقادیر موجود در ماتریس نشان می دهد که آیا یک زیر مجموعه با یک مجموع داده شده وجود دارد یا خیر. سپس این ماتریس را با استفاده از قواعد زیر پر می کنیم: ستون اول را با True پر کنید، زیرا یک زیر مجموعه با مجموع همیشه ممکن است. 2. ردیف اول را با True پر کنید اگر عنصر اول مجموعه برابر با شاخص ستون باشد و زیر سلول False باشد. 3. برای تمام سلول های دیگر، اگر عنصر در مجموعه کمتر یا برابر با شاخص ستون باشد، یعنی اگر بزرگترین عنصر موجود در مجموعه بتواند بخشی از ماتریس جمع شده توسط مجموعه باشد، ما با مراحل زیر می بینیم که آیا مجموعه"}]