Some algorithm from leetcode