LeetCoding/Динамическое программирование — различия между версиями

Материал из DISCOPAL
Перейти к: навигация, поиск
(dynprog-2-ball)
(dynprog-2-ball)
Строка 398: Строка 398:
 
{{leetcode|coin-change|Coin Change|[[Участник:StasFomin|StasFomin]] 21:20, 25 мая 2020 (MSK)}} [[Участник:Dionidgy|Аблов Денис]] 22:04, 11 апреля 2021 (MSK)
 
{{leetcode|coin-change|Coin Change|[[Участник:StasFomin|StasFomin]] 21:20, 25 мая 2020 (MSK)}} [[Участник:Dionidgy|Аблов Денис]] 22:04, 11 апреля 2021 (MSK)
 
{{nps}} [[Участник:S1td1kov/CoinChange]]
 
{{nps}} [[Участник:S1td1kov/CoinChange]]
 +
{{Checkme}}[[Участник:Dionidgy/coin-change]]
  
 
{{leetcode|unique-substrings-in-wraparound-string|Unique Substrings in Wraparound String|[[Участник:StasFomin|StasFomin]] 17:54, 16 декабря 2020 (MSK)}}
 
{{leetcode|unique-substrings-in-wraparound-string|Unique Substrings in Wraparound String|[[Участник:StasFomin|StasFomin]] 17:54, 16 декабря 2020 (MSK)}}

Версия 20:43, 12 апреля 2021

Динамическое программирование

dumprog-3-ball


«Valid Number» Проверено StasFomin

StasFomin 12:14, 11 марта 2021 (MSK)


«Max Points on a Line» Проверено StasFomin 16:58, 31 октября 2019 (MSK)


«Strong Password Checker» Проверено StasFomin 18:34, 7 ноября 2019 (MSK)


«Find the Closest Palindrome» Проверено StasFomin 16:05, 22 ноября 2019 (MSK)


«Word Ladder II» Проверено StasFomin 20:24, 21 мая 2020 (MSK)


«Shortest Subarray with Sum at Least K» Проверено StasFomin 18:18, 20 мая 2020 (MSK)


«Wildcard Matching» Проверено StasFomin 21:57, 12 декабря 2019 (MSK)


«Longest Duplicate Substring» Проверено StasFomin 17:02, 31 октября 2019 (MSK)


«Reverse Pairs» Проверено StasFomin 08:35, 20 декабря 2019 (MSK)


«Substring with Concatenation of All Words» Проверено StasFomin 12:24, 9 декабря 2019 (MSK)


«Text Justification» Проверено StasFomin 16:57, 13 декабря 2019 (MSK)


«Integer to English Words» Проверено StasFomin 16:05, 22 ноября 2019 (MSK)


«Split Array With Same Average» Проверено StasFomin 22:00, 12 декабря 2019 (MSK)


«Decode Ways II» Проверено StasFomin 17:02, 13 декабря 2019 (MSK)


«Super Egg Drop» Проверено StasFomin 19:04, 7 ноября 2019 (MSK)


«Regular Expression Matching» Проверено StasFomin 16:05, 22 ноября 2019 (MSK)


«Create Maximum Number» Проверено StasFomin 18:18, 20 мая 2020 (MSK)


«Nth Magical Number» Проверено StasFomin 16:05, 22 ноября 2019 (MSK)


«Longest Valid Parentheses» Проверено StasFomin 19:04, 7 ноября 2019 (MSK)


«Best Time to Buy and Sell Stock IV» Проверено StasFomin 19:31, 20 мая 2020 (MSK)



«Trips and Users» Проверено StasFomin 19:31, 20 мая 2020 (MSK)


«Self Crossing» Проверено StasFomin 17:24, 31 октября 2019 (MSK)


«K-th Smallest in Lexicographical Order» Проверено StasFomin 12:24, 9 декабря 2019 (MSK)


«Median of Two Sorted Arrays» Проверено StasFomin 17:04, 31 октября 2019 (MSK)


«Count The Repetitions» Проверено StasFomin 15:30, 25 мая 2020 (MSK)


«Largest Component Size by Common Factor» Проверено StasFomin 20:33, 20 мая 2020 (MSK)


«Largest Palindrome Product» Проверено StasFomin 19:05, 26 мая 2020 (MSK)


«Reaching Points» Проверено StasFomin 16:05, 22 ноября 2019 (MSK)


«Dungeon Game» Проверено StasFomin 20:23, 20 декабря 2019 (MSK)


«Shortest Palindrome» Проверено StasFomin 17:21, 31 октября 2019 (MSK)


«Palindrome Partitioning II» Проверено StasFomin 22:03, 12 декабря 2019 (MSK)


«Word Break II» Проверено StasFomin 19:31, 20 мая 2020 (MSK)

Участник:UlitinAleksander/word-break


«Department Top Three Salaries» Проверено StasFomin 19:31, 20 мая 2020 (MSK)


«Perfect Rectangle» Проверено StasFomin 17:08, 31 октября 2019 (MSK)


«Jump Game II» Проверено StasFomin 19:04, 7 ноября 2019 (MSK)


«Interleaving String» Проверено StasFomin 12:24, 9 декабря 2019 (MSK)


«Numbers At Most N Given Digit Set» Проверено StasFomin 13:10, 2 декабря 2020 (MSK)


«Bricks Falling When Hit» Проверено StasFomin 17:30, 25 октября 2019 (MSK)

UlitinAleksander 22:09, 18 декабря 2020 (MSK)


«Candy» Проверено StasFomin 17:15, 25 октября 2019 (MSK)


«Cat and Mouse» Проверено StasFomin 19:31, 20 мая 2020 (MSK)


«K Inverse Pairs Array» Проверено StasFomin 12:24, 9 декабря 2019 (MSK)


«First Missing Positive» Проверено StasFomin 15:52, 16 декабря 2020 (MSK)


«Find K-th Smallest Pair Distance» Проверено StasFomin 12:24, 9 декабря 2019 (MSK)


«Sum of Subsequence Widths» Проверено StasFomin 17:01, 25 октября 2019 (MSK)


«Minimum Number Of Refueling Stops» Проверено StasFomin 17:15, 25 октября 2019 (MSK).


«Last Substring in Lexicographical Order» Проверено StasFomin 17:01, 25 октября 2019 (MSK)


«Arithmetic Slices II - Subsequence» Проверено StasFomin 13:10, 2 декабря 2020 (MSK)


«Largest Multiple of Three» Проверено StasFomin 11:59, 15 декабря 2020 (MSK)


«Scramble String» Проверено астник:StasFomin|StasFomin]] 16:01, 25 мая 2020 (MSK)

UlitinAleksander 22:12, 18 декабря 2020 (MSK)


«Cherry Pickup» Проверено StasFomin 23:06, 25 мая 2020 (MSK)


«Non-negative Integers without Consecutive Ones» Проверено StasFomin 10:18, 23 июня 2020 (MSK)


«Russian Doll Envelopes» Проверено StasFomin


«Student Attendance Record II» Проверено StasFomin 19:13, 26 мая 2020 (MSK)


«Find All Good Strings» Проверено StasFomin 16:01, 25 мая 2020 (MSK)

Участник:UlitinAleksander/find-all-good-strings


«Restore The Array» Проверено StasFomin 13:10, 2 декабря 2020 (MSK)


«Number of Ways to Wear Different Hats to Each Other» Проверено StasFomin 13:10, 2 декабря 2020 (MSK)


«Maximal Rectangle» Проверено StasFomin 19:56, 25 мая 2020 (MSK)


«Best Time to Buy and Sell Stock III» Проверено StasFomin 13:10, 2 декабря 2020 (MSK)


«Binary Tree Cameras» Проверено StasFomin 19:56, 25 мая 2020 (MSK)


«Max Sum of Rectangle No Larger Than K» Проверено StasFomin 16:01, 25 мая 2020 (MSK)



«Number of Paths with Max Score» Проверено StasFomin 16:01, 25 мая 2020 (MSK)
* Nopython-solution.svg Участник:Михеева_Анастасия_Максимовна/Number_of_Paths_with_Max_Score UlitinAleksander 22:12, 18 декабря 2020 (MSK)


«Numbers With Repeated Digits» Проверено StasFomin 22:35, 25 мая 2020 (MSK)

UlitinAleksander 22:12, 18 декабря 2020 (MSK)


«Distinct Subsequences» Проверено StasFomin 16:01, 25 мая 2020 (MSK)


«Super Washing Machines» Проверено StasFomin 16:17, 28 декабря 2020 (MSK)


«Race Car» Проверено StasFomin 16:31, 25 октября 2020 (MSK)


«Profitable Schemes» Проверено StasFomin 12:00, 15 декабря 2020 (MSK)


«Form Largest Integer With Digits That Add up to Target» Проверено StasFomin 15:07, 15 декабря 2020 (MSK)


«Frog Jump» Проверено StasFomin 23:06, 25 мая 2020 (MSK)

Гадаев Тамаз 08:19, 27 декабря 2020 (MSK)


«Tallest Billboard» Проверено StasFomin 23:06, 25 мая 2020 (MSK)


«Strange Printer» Проверено StasFomin 15:07, 15 декабря 2020 (MSK)


«Minimum Cost to Merge Stones» Проверено StasFomin 13:57, 2 декабря 2020 (MSK)


«Maximum Students Taking Exam» Проверено StasFomin 15:07, 15 декабря 2020 (MSK)
Участник:Krivosheev.ah/maximum-students-taking-exam


«Maximum Vacation Days»



«Distinct Subsequences II» Проверено StasFomin 20:18, 25 мая 2020 (MSK)


«Make Array Strictly Increasing» Проверено 15:07, 15 декабря 2020 (MSK)


«Count Different Palindromic Subsequences» Проверено StasFomin 14:56, 8 июня 2020 (MSK)


«Remove Boxes» Проверено StasFomin 15:07, 15 декабря 2020 (MSK)


«Minimum Number of Taps to Open to Water a Garden» Проверено StasFomin 15:26, 15 декабря 2020 (MSK)


«Concatenated Words» Проверено StasFomin 20:06, 25 мая 2020 (MSK)


«Stickers to Spell Word» Проверено StasFomin 15:06, 16 декабря 2020 (MSK)


«Maximum Sum BST in Binary Tree» Проверено StasFomin 14:56, 8 июня 2020 (MSK)
* Python-logo-notext.svg Участник:PinkHedgehog/MSBIBT


«Edit Distance» Проверено StasFomin 20:06, 25 мая 2020 (MSK)


«Find the Shortest Superstring» Проверено StasFomin 20:06, 25 мая 2020 (MSK)


«Number of Ways to Stay in the Same Place After Some Steps» Проверено StasFomin 13:10, 2 декабря 2020 (MSK)


«Freedom Trail» Проверено StasFomin 17:09, 16 декабря 2020 (MSK)


«Odd Even Jump» Проверено StasFomin 20:09, 25 мая 2020 (MSK)


«Least Operators to Express Number» Проверено StasFomin 13:10, 2 декабря 2020 (MSK)


«Constrained Subsequence Sum» Проверено StasFomin 13:57, 2 декабря 2020 (MSK)


«Pizza With 3n Slices» Проверено StasFomin 23:06, 25 мая 2020 (MSK)


«Maximum Profit in Job Scheduling» Проверено StasFomin 17:13, 16 декабря 2020 (MSK)


«Split Array Largest Sum» Проверено StasFomin 17:20, 16 декабря 2020 (MSK)


«Maximum Sum of 3 Non-Overlapping Subarrays» Проверено StasFomin 13:57, 2 декабря 2020 (MSK)


«Number of Music Playlists» Проверено StasFomin 13:57, 2 декабря 2020 (MSK)


«Smallest Sufficient Team» Проверено StasFomin 15:30, 25 мая 2020 (MSK)


«Valid Permutations for DI Sequence» Проверено StasFomin 17:20, 16 декабря 2020 (MSK)


«Tiling a Rectangle with the Fewest Squares»


«Burst Balloons» Проверено StasFomin 20:09, 25 мая 2020 (MSK)


«Shortest Common Supersequence» Проверено StasFomin 17:24, 16 декабря 2020 (MSK)


«Shortest Path Visiting All Nodes» Проверено StasFomin 19:13, 26 мая 2020 (MSK)


«Number of Ways of Cutting a Pizza» Проверено StasFomin 13:57, 2 декабря 2020 (MSK)


«Count Vowels Permutation» Проверено StasFomin


«Delete Columns to Make Sorted III» Проверено StasFomin 17:33, 16 декабря 2020 (MSK)


«Stone Game III» Проверено StasFomin 15:30, 25 мая 2020 (MSK)


«Triples with Bitwise AND Equal To Zero» Проверено StasFomin 13:57, 2 декабря 2020 (MSK)


«Minimum Difficulty of a Job Schedule» Проверено StasFomin 17:36, 16 декабря 2020 (MSK)


«Minimum Insertion Steps to Make a String Palindrome» Проверено StasFomin 20:18, 25 мая 2020 (MSK)


«Jump Game V» Проверено StasFomin 13:57, 2 декабря 2020 (MSK)


«Count All Valid Pickup and Delivery Options» Проверено StasFomin 15:21, 28 декабря 2020 (MSK)


«Longest Chunked Palindrome Decomposition» Проверено StasFomin 17:43, 16 декабря 2020 (MSK)


«Palindrome Partitioning III» Проверено StasFomin 21:09, 25 мая 2020 (MSK)


«Number of Submatrices That Sum to Target» Проверено StasFomin 14:56, 8 июня 2020 (MSK)


«Minimum Distance to Type a Word Using Two Fingers» Проверено StasFomin 17:43, 16 декабря 2020 (MSK)


«Minimum Falling Path Sum II» Проверено StasFomin 22:35, 25 мая 2020 (MSK)


«Number of Ways to Paint N × 3 Grid» Проверено StasFomin 19:13, 26 мая 2020 (MSK)



«Reducing Dishes» Проверено StasFomin 15:30, 25 мая 2020 (MSK)

dynprog-2-ball

По два бала за. Но сильно проще чем hard.


«Decode Ways» Проверено StasFomin 21:14, 25 мая 2020 (MSK)


«Continuous Subarray Sum» Проверено StasFomin 17:46, 16 декабря 2020 (MSK)


«K-Concatenation Maximum Sum» Проверено StasFomin 22:42, 25 мая 2020 (MSK)


«Can I Win» Проверено StasFomin 21:16, 25 мая 2020 (MSK)


«Longest Palindromic Substring» Проверено StasFomin 21:16, 25 мая 2020 (MSK)


«Maximum Product Subarray» Проверено StasFomin 21:19, 25 мая 2020 (MSK)


«New 21 Game» Проверено StasFomin 20:18, 25 мая 2020 (MSK)


«Unique Paths II» Проверено StasFomin 21:20, 25 мая 2020 (MSK)


«Out of Boundary Paths» Проверено StasFomin 21:28, 25 мая 2020 (MSK)


«Coin Change» Проверено StasFomin 21:20, 25 мая 2020 (MSK)
Аблов Денис 22:04, 11 апреля 2021 (MSK)

Check-me-animated.gifУчастник:Dionidgy/coin-change


«Unique Substrings in Wraparound String» Проверено StasFomin 17:54, 16 декабря 2020 (MSK)


«Number of Longest Increasing Subsequence» Проверено StasFomin 21:28, 25 мая 2020 (MSK)


«Bitwise ORs of Subarrays» Проверено StasFomin 21:28, 25 мая 2020 (MSK)


«House Robber II» Проверено StasFomin 15:30, 25 мая 2020 (MSK)


«Maximum Product of Splitted Binary Tree»

StasFomin 16:17, 28 декабря 2020 (MSK):


«Largest Divisible Subset» Проверено StasFomin 21:53, 25 мая 2020 (MSK)


«Maximum Subarray Sum with One Deletion» Проверено StasFomin 21:53, 25 мая 2020 (MSK)


«Maximal Square» Проверено StasFomin 16:17, 28 декабря 2020 (MSK)


«Range Sum Query 2D - Immutable» Проверено StasFomin 19:40, 26 мая 2020 (MSK)


«Cheapest Flights Within K Stops» Проверено StasFomin 14:12, 2 декабря 2020 (MSK)
* Nopython-solution.svg Участник:Rusal/kstops


«Domino and Tromino Tiling» Проверено StasFomin 17:59, 16 декабря 2020 (MSK)


«Minimum Swaps To Make Sequences Increasing» Проверено StasFomin 18:02, 16 декабря 2020 (MSK)


«Numbers With Same Consecutive Differences» Проверено StasFomin 18:02, 16 декабря 2020 (MSK)


«Maximum Points You Can Obtain from Cards» Проверено StasFomin 18:31, 16 декабря 2020 (MSK)


«Word Break» Проверено StasFomin 20:18, 25 мая 2020 (MSK)


«Wiggle Subsequence» Проверено StasFomin 18:31, 16 декабря 2020 (MSK)


«Linked List in Binary Tree» Проверено StasFomin 14:12, 2 декабря 2020 (MSK)


«Soup Servings»

StasFomin 18:31, 16 декабря 2020 (MSK):


«Ugly Number II» Проверено StasFomin 19:40, 26 мая 2020 (MSK)


«Unique Binary Search Trees II» Проверено StasFomin 18:31, 16 декабря 2020 (MSK)


«Guess Number Higher or Lower II» Проверено StasFomin 21:53, 25 мая 2020 (MSK)
* Nopython-solution.svg Участник:Михеева_Анастасия_Максимовна/Guess_Number_Higher_or_Lower_II 18:50, 22 мая 2020 (MSK)


«Longest Increasing Subsequence» Проверено StasFomin 14:12, 2 декабря 2020 (MSK)
* Python-logo-notext.svg Участник:Rimon/Longest Increasing Subsequence


«Ones and Zeroes» Проверено StasFomin 15:30, 25 мая 2020 (MSK)


«Partition Equal Subset Sum» Проверено StasFomin 19:40, 26 мая 2020 (MSK)


«Triangle» Проверено StasFomin 21:20, 25 мая 2020 (MSK)


«Longest Arithmetic Subsequence of Given Difference» Проверено StasFomin 19:40, 26 мая 2020 (MSK)


«Last Stone Weight II» Проверено StasFomin 18:31, 16 декабря 2020 (MSK)


«Knight Dialer»

StasFomin 18:31, 16 декабря 2020 (MSK):


«Combination Sum IV» Проверено StasFomin 14:12, 2 декабря 2020 (MSK)


«Partition to K Equal Sum Subsets» Проверено StasFomin 18:31, 16 декабря 2020 (MSK)


«Dice Roll Simulation» Проверено StasFomin 19:07, 16 декабря 2020 (MSK)


«Perfect Squares» Проверено StasFomin 15:30, 25 мая 2020 (MSK)


«Largest Plus Sign» Проверено StasFomin 19:07, 16 декабря 2020 (MSK)


«Best Time to Buy and Sell Stock with Cooldown» Проверено StasFomin 19:07, 16 декабря 2020 (MSK)


«Greatest Sum Divisible by Three» Проверено StasFomin 19:07, 16 декабря 2020 (MSK)


«Longest Turbulent Subarray»

StasFomin 19:07, 16 декабря 2020 (MSK):


«Largest 1-Bordered Square» Проверено StasFomin 19:07, 16 декабря 2020 (MSK)


«Longest Happy String» Проверено StasFomin 19:07, 16 декабря 2020 (MSK)


«Target Sum» Проверено StasFomin 22:35, 25 мая 2020 (MSK)


«Predict the Winner» Проверено StasFomin 15:28, 28 декабря 2020 (MSK)


«Push Dominoes» Проверено StasFomin 19:07, 16 декабря 2020 (MSK)


«Length of Longest Fibonacci Subsequence» Проверено StasFomin 21:53, 25 мая 2020 (MSK)
Участник:Kiranov dmitry/task7


«Count Numbers with Unique Digits» Проверено StasFomin 19:07, 16 декабря 2020 (MSK)


«Minimum Score Triangulation of Polygon» Проверено StasFomin 19:07, 16 декабря 2020 (MSK)


«Knight Probability in Chessboard» Проверено StasFomin 19:07, 16 декабря 2020 (MSK)


«Delete and Earn» Проверено StasFomin 19:40, 26 мая 2020 (MSK)


«2 Keys Keyboard» Проверено StasFomin 21:53, 25 мая 2020 (MSK)


«Video Stitching» Проверено StasFomin 19:07, 16 декабря 2020 (MSK)


«Maximum Length of Repeated Subarray» Проверено StasFomin 21:53, 25 мая 2020 (MSK)


«Largest Sum of Averages»

StasFomin 19:25, 16 декабря 2020 (MSK):


«Number of Dice Rolls With Target Sum» Проверено StasFomin 19:25, 16 декабря 2020 (MSK)


«Integer Break» Проверено StasFomin 15:28, 28 декабря 2020 (MSK)


«Unique Binary Search Trees» Проверено StasFomin 19:25, 16 декабря 2020 (MSK)


«Shopping Offers» Проверено StasFomin 19:25, 16 декабря 2020 (MSK)


«Maximum Length of Pair Chain» Проверено StasFomin 19:54, 16 декабря 2020 (MSK)


«Longest Palindromic Subsequence» Проверено StasFomin 14:12, 2 декабря 2020 (MSK)
Участник:Rimon/Longest Palindromic Subsequence


«Unique Paths» Проверено StasFomin 15:21, 28 декабря 2020 (MSK)



«Longest ZigZag Path in a Binary Tree» Проверено StasFomin 19:54, 16 декабря 2020 (MSK)


«Minimum Path Sum» Проверено StasFomin 19:54, 16 декабря 2020 (MSK)


«Best Time to Buy and Sell Stock with Transaction Fee» Проверено StasFomin 19:54, 16 декабря 2020 (MSK)


«Longest Arithmetic Sequence» Проверено StasFomin 19:40, 26 мая 2020 (MSK)


«Longest String Chain» Проверено StasFomin 19:40, 26 мая 2020 (MSK)


«Arithmetic Slices» Проверено StasFomin 20:18, 25 мая 2020 (MSK)


«Minimum ASCII Delete Sum for Two Strings» Проверено StasFomin 19:54, 16 декабря 2020 (MSK)


«Filling Bookcase Shelves» Проверено StasFomin 19:54, 16 декабря 2020 (MSK)


«Longest Common Subsequence» Проверено StasFomin 21:53, 25 мая 2020 (MSK)


«Minimum Cost For Tickets» Проверено StasFomin 20:05, 16 декабря 2020 (MSK)


«Palindromic Substrings» Проверено StasFomin 21:20, 25 мая 2020 (MSK)


«Airplane Seat Assignment Probability» Проверено StasFomin 19:40, 26 мая 2020 (MSK)

StasFomin 19:40, 26 мая 2020 (MSK): Тут по уму конечно надо через ДП решать, кошерные решения велкомд.



«Minimum Falling Path Sum» Проверено StasFomin 19:40, 26 мая 2020 (MSK)


«Stone Game II» Проверено StasFomin 15:28, 28 декабря 2020 (MSK)


«Stone Game» Проверено StasFomin 19:40, 26 мая 2020 (MSK)


«Minimum Cost Tree From Leaf Values» Проверено StasFomin 19:40, 26 мая 2020 (MSK)


«Counting Bits» Проверено StasFomin 19:40, 26 мая 2020 (MSK)


«Count Square Submatrices with All Ones» Проверено StasFomin 20:05, 16 декабря 2020 (MSK)


«Matrix Block Sum» Проверено StasFomin 19:40, 26 мая 2020 (MSK)


«Valid Parenthesis String» Проверено StasFomin 12:04, 22 декабря 2020 (MSK)


«Word Search» Проверено StasFomin 12:04, 22 декабря 2020 (MSK)


«Contiguous Array» Проверено StasFomin 12:04, 22 декабря 2020 (MSK)


«Subarray Sum Equals K» Проверено StasFomin 12:04, 22 декабря 2020 (MSK)

dynprog-1-ball

Если впервые — начните с элементарных задач. Баллов меньше, но решать быстрее.

StasFomin 14:15, 2 декабря 2020 (MSK): И за них тоже по два балла пусть будет в 2020.


«Range Sum Query - Immutable» Проверено StasFomin 20:15, 16 декабря 2020 (MSK)


«Maximum Subarray» Проверено StasFomin 20:15, 16 декабря 2020 (MSK)


«Climbing Stairs» Проверено StasFomin 14:21, 2 декабря 2020 (MSK)

Check-me-animated.gifУчастник:Иван Тунёв/climbingstairs


«Is Subsequence» Проверено StasFomin 14:21, 2 декабря 2020 (MSK)

Check-me-animated.gifУчастник:Иван Тунёв/issubsequence


«Min Cost Climbing Stairs» Проверено StasFomin 20:15, 16 декабря 2020 (MSK)


«Best Time to Buy and Sell Stock» Проверено StasFomin 14:21, 2 декабря 2020 (MSK)

  1. Не заметил, что уже решена, из-за оформления думал, что просто зарезервирована давно. Похожее решение получилось.