mskitten

又惘又怠

随笔分类 -  leetcode

摘要:前篇戳:dp入门——由分杆问题认识动态规划 导语 刷过一些算法题,就会十分珍惜“方法论”这种东西。Leetcode上只有题目、讨论和答案,没有方法论。往往答案看起来十分切中要害,但是从看题目到得到思路的那一段,就是绕不过去。楼主有段时间曾把这个过程归结于智商和灵感的结合,直到有天为了搞懂Leetco 阅读全文
posted @ 2018-09-12 14:19 mskitten 阅读(2918) 评论(0) 推荐(4) 编辑
摘要:题目 Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below. For example, given the 阅读全文
posted @ 2018-09-11 10:28 mskitten 阅读(763) 评论(0) 推荐(0) 编辑
摘要:题目 Given an integer n, generate all structurally unique BST's (binary search trees) that store values 1 ... n. Example: Input: 3 Output: [ [1,null,3,2 阅读全文
posted @ 2018-09-10 18:12 mskitten 阅读(361) 评论(0) 推荐(0) 编辑
摘要:简介 如果你常刷leetcode,会发现许多问题带有Dynamic Programming的标签。事实上带有dp标签的题目有115道,大部分为中等和难题,占所有题目的12.8%(2018年9月),是占比例第二大的问题。 如果能系统地对dp这个topic进行学习,相信会极大地提高解题速度,对今后解决实 阅读全文
posted @ 2018-09-10 14:50 mskitten 阅读(3052) 评论(0) 推荐(2) 编辑
摘要:回溯法是一类递归算法,算法中每次只构建答案的一部分,在构建的过程中如果意识到答案不符合要求,会立刻将这一部分答案及它的所有子答案抛弃,以提高效率。 递归算法通常比较难想,容易出现做一个题时“每次都是新题”的情况。如果能够稍微记住一点简单的套路,认识到一个算法的重要点,以及文中几个题目的共性和区别,就能大大提高解算法的速度。 阅读全文
posted @ 2018-09-04 17:25 mskitten 阅读(4218) 评论(1) 推荐(2) 编辑
摘要:简介 用一个可伸缩的窗口遍历字符串,时间复杂度大致为O(n)。适用于“寻找符合某条件的最小子字符串”题型。 题目 链接 求某字符串T中含有某字符串S的所有字符的最小子字符串。如果不存在则返回"". 算法 用左右两个指针维护一个窗口。 WHY IT WORKS 设想一个最naive的算法如何遍历T中的 阅读全文
posted @ 2018-09-02 21:00 mskitten 阅读(2962) 评论(0) 推荐(0) 编辑
摘要:持续更新中(* ॑ᐜ ॑*)(* ॑ᐜ ॑*) Sliding Window (滑动窗口) 寻找符合条件的最短子字符串——SLIDING WINDOW Backtracking (回溯法) 数组排列组合问题——BACKTRACKING Dynamic Programming (动态规划) 系统学习d 阅读全文
posted @ 2018-08-31 13:55 mskitten 阅读(935) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示