题解 | #跳跃游戏(一)#

跳跃游戏(一)

https://www.nowcoder.com/practice/07484f4377344d3590045a095910992b

#include<iostream>
#include<queue>
using namespace std;
const int N=2e5+6;
int arr[N];
int n;
bool vis[N];  // 下标是否被访问过
queue<int> que;  // 存下标
int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr), cout.tie(nullptr);
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>arr[i];
    }
    que.push(0);
    vis[0]=true;
    bool sign=false;
    int ma_ind=0;
    while(!que.empty()){
        int ind=que.front();
        que.pop();
        // cout<<ind<<" "<<arr[ind]<<endl;
        if(ind==n-1){
            sign=true;
            break;
        }
        int nex;
        for(int i=ma_ind+1;i<=ind+arr[ind];i++){
            if(i>n) break;
            if(!vis[i]){
                que.push(i);
                vis[i]=true;
                nex=i;
            }
        }
        ma_ind=nex;
    }
    if(sign) cout<<"true";
    else cout<<"false";

    return 0;
}

全部评论

相关推荐

03-24 17:57
门头沟学院 Java
yakuso:你这头像哈哈哈
点赞 评论 收藏
分享
03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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