Paint House

Paint House_第1张图片

读完题目发现这道题很适合用backtrack的方法来做。之前学人工智能的时候就有讨论过一个一模一样的问题。【但是不需要考虑cost问题】。 所以估计还是DP来做。但是我又想到单个DP有一些很蛋疼的问题。比如说我第一个东西选了红色。 第二个不能选红色,可以选蓝色,和绿色。我得到了一个最小值。但是真正的最小值是绿色怎么办?所以我发现也许要使用3个DP。


--------    好吧 还是错了。。-------

Edit on 8月4日。。昨天头脑不清楚 完全做不下去。

今天做的这个版本好像是对的,但是time limit超时了。 也许加一个Memorization可以吧。。 这题真是easy吗。。

Paint House_第2张图片



卧槽。。。。。。。。。感觉自己是个智障    感觉是一种greedy的想法来做的。水好深阿leetcode T^T^T^T^T^T^T^T^T^T. 

思路: 假设我现在在绿色, 我可以去红色和蓝色。 我会选红色蓝色中最少cost最小的去。这个让我真的是没有想到! 我本能的想法是 第一个绿色,第二个我就算现在选了个看起来比较小的红色,也许greedy的下一步的会导致反过来超过另一个走法的cost。

但是看起来我似乎想多了。。

Paint House_第3张图片

你可能感兴趣的:(Paint House)