leetcode.1345. 跳跃游戏 IV(bfs+哈希)

1345. 跳跃游戏 IV



图片说明



即可,对于同值的哈希其下标,访问一次删掉即可。


class Solution {
public:
    int dp[50005];
    int minJumps(vector<int>& a) {
        int n=a.size();
        int IN=0x3f3f3f;
        memset(dp,0x3f3f3f,sizeof dp);
        dp[0]=0;
        unordered_map<int,vector<int> >p;
        for(int i=0;i<n;i++)p[a[i]].push_back(i);
        queue<int>q;
        q.push(0);
        while(!q.empty()){
            int id=q.front();
            q.pop();
            if(id-1>=0){
                if(dp[id-1]>dp[id]+1){
                    dp[id-1]=dp[id]+1;
                    q.push(id-1);
                }
            }
            if(id+1<n){
                if(dp[id+1]>dp[id]+1){
                    dp[id+1]=dp[id]+1;
                    q.push(id+1);
                }
            }
            for(int i:p[a[id]]){
                if(dp[i]>dp[id]+1){
                    dp[i]=dp[id]+1;
                    q.push(i);
                }
            }
        }
        return dp[n-1];
    }
};
全部评论

相关推荐

用微笑面对困难:实习我觉得去字节好一点,因为鹅的转正很困难,后面可以去鹅干长期
找实习记录
点赞 评论 收藏
分享
点赞 评论 收藏
分享
02-01 12:05
复旦大学 Java
腾讯的提前批大概率应该是没有笔试的,但是这个时候有相当部分的同学简历估计都没有准备好,没准备好的同学也不用急,大部分都是3月之后开,这个时候开的绝大多数都是神仙打架,问的东西也比较难,打算投递的同学也多看下计算机网络和操作系统,腾讯对这部分的知识问的比较多。另外多刷下牛客的热门题库,刷题注意刷ACM模式,和牛客的周赛题,腾讯有的部门会从这里面出原题。我是@程序员花海关注我,带你了解更多校招资讯!
程序员花海:还没有来得及准备的同学可以看下学习路线:https://www.nowcoder.com/discuss/824693499982315520?sourceSSR=users算法题:https://www.nowcoder.com/feed/main/detail/20e7a999fa04485b88340a274411ca0d?sourceSSR=users八股文:https://www.nowcoder.com/discuss/833102362771251200?sourceSSR=users简历书写方式:https://www.nowcoder.com/discuss/839907820706205696?sourceSSR=users都是以前在牛客发的文章~
软开人,秋招你打算投哪些...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务