zoukankan      html  css  js  c++  java
  • Jump Game II

    Given an array of non-negative integers, you are initially positioned at the first index of the array.

    Each element in the array represents your maximum jump length at that position.

    Your goal is to reach the last index in the minimum number of jumps.

    For example:
    Given array A = [2,3,1,1,4]

    The minimum number of jumps to reach the last index is 2. (Jump 1 step from index 0 to 1, then 3 steps to the last index.)

    class Solution {
    public:
        int jump(int A[], int n) 
        {
            if(n==1return 0;
            bool* path=new bool[n];
            for(int i=1;i<n;i++) path[i]=false;
            
            vector<int>* p1=new vector<int>();
            vector<int>* p2=new vector<int>();
            path[0]=0;
            p1->push_back(0);
            int step=0;
            
            while(p1->size()>0)
            {
                sort(p1->begin(),p1->end(),greater<int>());
                step++;
                p2->clear();
                for(int i=0;i<p1->size();i++)
                    for(int j=1;j<=A[(*p1)[i]];j++)
                        if(path[(*p1)[i]+j]==false)
                        {
                            int newindex=(*p1)[i]+j;
                            path[newindex]=true;
                            p2->push_back(newindex);
                            if(newindex==n-1return step;
                        }
              vector<int>* tmp;
              tmp=p1;
              p1=p2;
              p2=tmp;
            }
            return false;
        }
    }; 
  • 相关阅读:
    永无乡「HNOI2012」
    ruby基础知识之 class&module
    Linux命令集锦
    Ruby知识总结-一般变量+操作符+if+数组和哈希
    VMware通过VMnet8共享本地网络
    VMware Workstation 不可恢复错误 (vcpu-0)
    WIN10安装时msxml4.0提示2502、2503解决办法
    C# 委托知识总结
    request.servervariables参数
    判断MS SQLSERVER临时表是否存在
  • 原文地址:https://www.cnblogs.com/erictanghu/p/3759367.html
Copyright © 2011-2022 走看看