码迷,mamicode.com
首页 > 其他好文 > 详细

055. Jump Game

时间:2016-10-16 09:28:59      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

方法一:递归,超时

 1 class Solution {
 2 public:
 3     bool canJump(vector<int>& nums) {
 4         if (nums.size() < 2) return true;
 5         else {
 6             for (int i = 1; i <= *nums.begin(); ++i) {
 7                 vector<int> vec(nums.begin() + i, nums.end());
 8                 if (canJump(vec)) return true;
 9             }
10             return false;
11         }
12     }
13 };

 

方法二:动态规划

 1 class Solution {
 2 public:
 3     bool canJump(vector<int>& nums) {
 4         if (nums.size() < 2) return true;
 5         else {
 6             vector<int> reach(nums.size(), 0);
 7             reach[0] = 1;
 8             for (size_t i = 1; i < nums.size(); ++i) {
 9                 bool flag = false;
10                 for (int j = i - 1; j >= 0; --j) {
11                     if (reach[j] && nums[j] >= i - j) {
12                         flag = true;
13                         reach[i] = 1;
14                         break;
15                     }
16                 }
17                 if (!flag) return false;
18             }
19             return true;
20         }
21     }
22 };

 

055. Jump Game

标签:

原文地址:http://www.cnblogs.com/shadowwalker9/p/5965915.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!