• 【c++每天一题】跳跃游戏


    题目

    给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。

    判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。

    示例 1:

    输入:nums = [2,3,1,1,4]
    输出:true
    解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。
    

    示例 2:

    输入:nums = [3,2,1,0,4]
    输出:false
    解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。
    

    提示:

    • 1 <= nums.length <= 104
    • 0 <= nums[i] <= 105

    方法一:深搜

    我们遍历到一个节点分别以n,n-1,……,1步往前走,碰到0就结束分支。如果有分支走到最后一个节点说明走到了,输出yes。所有分支都结束了但没有分支到最后一个节点,输出no。

    1. #include
    2. using namespace std;
    3. bool flag=false;
    4. int find(int a[],int n,int x){
    5. for(int i=0;i
    6. if(a[i]==x){
    7. return 1;
    8. }
    9. }
    10. return 0;
    11. }
    12. int dfs(int a[],int x,int n){
    13. if(a[x]==0){
    14. return 0;
    15. }
    16. if(x==n-1){
    17. flag=true;
    18. return 0;
    19. }
    20. for(int i=a[x];i>=1;i--){
    21. dfs(a,x+i,n);
    22. }
    23. }
    24. int main(){
    25. freopen("jump.in","r",stdin);
    26. freopen("jump.out","w",stdout);
    27. int a[10000];
    28. int n,p=0;
    29. cin>>n;
    30. for(int i=0;i
    31. cin>>a[i];
    32. }
    33. if(!find(a,n,0)){
    34. cout<<"yes";
    35. return 0;
    36. }
    37. dfs(a,0,n);
    38. if(flag==true){
    39. cout<<"yes";
    40. }else{
    41. cout<<"no";
    42. }
    43. return 0;
    44. }

    方法二:贪心

    1. #include
    2. using namespace std;
    3. int main(){
    4. int n,a[100],step=0;
    5. cin>>n;
    6. for(int i=0;i
    7. cin>>a[i];
    8. }
    9. for(int i=0;i<=step;i++){
    10. step=max(a[i]+i,step);
    11. if(step>=n){
    12. cout<<"yes";
    13. break;
    14. }else{
    15. cout<<"no";
    16. break;
    17. }
    18. }
    19. return 0;
    20. }

  • 相关阅读:
    Vue电商项目--分页器制作
    WPF中DataContext作用
    CentOS 7安装MySQL及初始化操作教程
    高手速成 | 过滤器、监听器的创建与配置
    Leo赠书活动-02期 【信息科技风险管理:合规管理、技术防控与数字化】
    JS逆向之巨量算数signature与data解密
    如何利用 Selenium 对已打开的浏览器进行爬虫
    udev 挂载SD卡 USB设备
    Mysql的SQL调优-面试
    互联网商业模式设计方案
  • 原文地址:https://blog.csdn.net/wangchuha/article/details/136141589