摘要: 一看就是用dp来做,但是这道题还是有点意思的。 dp[i] = sum_{coin} dp[i-coin] 上述的递推公式看似很对,但是会把重复的情况都考虑进去。举个例子,算dp[5]的时候,dp[5]=dp[0]+dp[4]+dp[3],但是之前算的dp[4]就是从dp[3]计算得到的。 解决办法 阅读全文
posted @ 2018-11-09 21:53 約束の空 阅读(127) 评论(0) 推荐(0)
摘要: Trie树主要用于字符串前缀匹配,树的根节点不存元素,其余节点存一个字符。对于一个字符串,其实就是顺着一条路径搜索的过程。 TrieNode节点有一个bool表示是否是一个word的结束,还有一个TrieNode *的数组,指向所有的孩子。 插入和搜索的时间复杂度都是 O(n),n表示给定字符串的长 阅读全文
posted @ 2018-11-09 11:58 約束の空 阅读(155) 评论(0) 推荐(0)
摘要: Solution 写的很好,怎么一步步到dp的 https://leetcode.com/problems/predict-the-winner/solution/ dp[i][j] 当前玩家从下标i~j的数组,能取得的比另一个玩家多的分数 base case dp[i][i]=nums[i] 每次 阅读全文
posted @ 2018-11-09 00:14 約束の空 阅读(121) 评论(0) 推荐(0)