\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0434\u0435\u043b\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 — \u0438\u0437\u044b\u043c\u0430\u0435\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0438\u0437 \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e (1). \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432.<\/li>\n<\/ol>\n\n\n\n\u0415\u0441\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0433\u043e \u0438\u0437\u044a\u044f\u0442\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b, \u0442\u043e \u043c\u044b \u043f\u0440\u0438 \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0438 \u0434\u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 (\u043a\u043e\u0433\u0434\u0430 \u043e\u043d \u043d\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u043c \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e\u043c \u0432\u0438\u0442\u043a\u0435 \u0441\u0442\u0430\u043d\u0435\u0442 \u043f\u0443\u0441\u0442) \u043c\u043e\u0436\u0435\u043c \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0431\u044b\u043b\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0430\u044f \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f.<\/p>\n\n\n\n
\u0415\u0441\u043b\u0438 \u043c\u044b \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0435\u043c \u043c\u0430\u0441\u0441\u0438\u0432 \u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u043a \u043a\u043e\u043d\u0446\u0443, \u044d\u0442\u043e \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u043d\u0430\u043c \u043e\u0441\u043e\u0431\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0439 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435. \u0422.\u0435. \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a, \u043a\u0430\u043a \u0432 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u043c \u0432\u044b\u0448\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0435.<\/p>\n\n\n\n
\u041e\u0433\u043d\u0435\u043c \u0438 \u043c\u0435\u0447\u043e\u043c (\u0433\u0440\u0443\u0431\u043e\u0439 \u0441\u0438\u043b\u043e\u0439), O(N!)<\/h2>\n\n\n\n
\u0418\u043c\u0435\u044f \u044d\u0442\u043e\u0442 \u0431\u0430\u0433\u0430\u0436 \u0437\u043d\u0430\u043d\u0438\u0439, \u043c\u043e\u0436\u043d\u043e \u0443\u0436\u0435 \u0440\u0435\u0448\u0438\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0443 \u0432 \u043b\u043e\u0431. \u041f\u0435\u0440\u0435\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438, \u0438 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0442\u0443, \u0447\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f.<\/p>\n\n\n\n
\u0412 \u0437\u0430\u0434\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0441\u044f, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 n<\/em> \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0442 1 \u0434\u043e 9, \u0442.\u0435. \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0439 \u0432\u0441\u0435\u0433\u043e 362880. \u0422.\u0435., \u043d\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0434\u0430\u0436\u0435 \u0433\u0440\u0443\u0431\u043e\u0439 \u0441\u0438\u043b\u043e\u0439 \u0437\u0430 \u043e\u0442\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f.<\/p>\n\n\n\n\u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u044f \u043f\u0440\u0438\u0431\u0435\u0433\u043d\u0443 \u043a \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0442\u0440\u044e\u043a\u0430\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435 \u0431\u0443\u0434\u0443 \u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 (\u0438\u0437\u044a\u044f\u0442\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0438 \u0432\u0441\u0442\u0430\u0432\u043a\u0443 \u043e\u0431\u0440\u0430\u0442\u043d\u043e).<\/p>\n\n\n\n
function getPermutation(n: number, k: number): string {\n\n \/\/ \u044d\u0442\u043e \u043d\u0430\u0448 \u043f\u0443\u043b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \n \/\/ \u0442\u043e\u043b\u044c\u043a\u043e n \u0438\u0437 \u043d\u0438\u0445\n const pool = [1, 2, 3, 4, 5, 6, 7, 8, 9];\n \/\/ \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043a\u043e\u0431\u043c\u0438\u043d\u0430\u0446\u0438\u0439\n let count = 0;\n\n \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u043d\u0443\u044e \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044e,\n \/\/ \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043e\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0435\n \/\/ \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u043e\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0439 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 k\n const perebor = (): string => {\n\n \/\/ \u0445\u0432\u043e\u0441\u0442 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438\n let res = '';\n \/\/ \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0444\u043b\u0430\u0433\n \/\/ \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439, \u0447\u0442\u043e \u043c\u044b \u043d\u0430\u0448\u043b\u0438 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \n \/\/ \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\n let flag = false;\n for (let i = 0; i < n; i ++) {\n const val = pool[i];\n\n \/\/ \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432\u044b\n \/\/ \u044f \u043f\u0440\u0438\u0431\u0435\u0433\u0430\u044e \u043a \u043c\u0430\u0440\u043a\u0438\u0440\u043e\u0432\u043a\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432\n if (val === 0) continue;\n flag = true;\n\n res = val.toString();\n\n \/\/ \u044d\u043b\u0435\u043c\u0435\u043d\u0442 i \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d - \u043e\u0431\u043d\u0443\u043b\u044f\u0435\u043c \u0435\u0433\u043e (\u043c\u0430\u0440\u043a\u0438\u0440\u0443\u0435\u043c)\n pool[i] = 0;\n res += perebor();\n\n \/\/ \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\n pool[i] = val;\n\n \/\/ \u0435\u0441\u043b\u0438 \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0438 k,\n \/\/ \u0442\u043e \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u044e \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044e:\n \/\/ \u0432\u0435\u0440\u043d\u0435\u043c \u0445\u0432\u043e\u0441\u0442 \u0432\u044b\u0448\u0435 \u043f\u043e \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0438\n if (count === k) return res;\n }\n\n \/\/ \u0435\u0441\u043b\u0438 \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0431\u044b\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b\n \/\/ \u0442\u043e \u043c\u044b \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0438 \u0434\u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0438 \n \/\/ \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0443\u044e \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044e\n \/\/ \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0435 \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0438\n \/\/ \u043c\u044b \u043d\u0435 \u0432\u0438\u0434\u0438\u043c \u0432\u0441\u0435\u0439 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \n \/\/ \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u043e\u043d\u0430 \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e.\n \/\/ \u0442.\u0435. \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0433\u043e\u0434\u0438\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u043e\u0434\u043d\u043e\u0439\n \/\/ \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438. (\u043d\u043e \u043d\u0430\u0441 \u044d\u0442\u043e \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442)\n if (!flag) count ++;\n\n \/\/ \u0432\u0435\u0440\u043d\u0435\u043c \u0445\u0432\u043e\u0441\u0442 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438\n return res;\n }\n\n return perebor();\n};<\/code><\/pre>\n\n\n\n\u042d\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0438 \u043e\u0442\u0431\u043e\u0440\u0430 \u043d\u0430 leetcode<\/em>, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435 \u0441 \u043d\u0435 \u0441\u0430\u043c\u044b\u043c\u0438 \u0431\u043b\u0435\u0441\u0442\u044f\u0449\u0438\u043c\u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f\u043c\u0438.<\/p>\n\n\n\n