当前位置: 首页 > wzjs >正文

广州微网站开发维普网论文收录查询

广州微网站开发,维普网论文收录查询,wordpress去谷歌插件,网站建设可以用什么语言贪心算法 跳跃游戏跳跃游戏2 跳跃游戏 题目 拿到题目就暴力穷举,我用的是dfs,加上备忘录之后还是超出时间限制。就考虑一下贪心算法。你想 我在[0,n-2]位置遍历求出可以跳跃的最远距离,用farthest更新最大值,如果>终点就返回t…

贪心算法

  • 跳跃游戏
  • 跳跃游戏2

在这里插入图片描述
在这里插入图片描述

跳跃游戏

题目在这里插入图片描述
拿到题目就暴力穷举,我用的是dfs,加上备忘录之后还是超出时间限制。就考虑一下贪心算法。你想 我在[0,n-2]位置遍历求出可以跳跃的最远距离,用farthest更新最大值,如果>=终点就返回true。

DFS递归:时间复杂度最坏是O(N*N)
在这里插入图片描述

class Solution {//dfsint[]memo;public boolean canJump(int[] nums) {memo=new int[nums.length];//memo[i]我在下标i出能不能到达终点 能1 不能0 没有访问-1Arrays.fill(memo,-1);//我站在下标为0的位置 求能不能跳到终点return dfs(nums,0);}//定义:从startIndex为起点,返回能不能到达终点boolean dfs(int[]nums,int startIndex){//到了终点 返回trueif(startIndex==nums.length-1){return true;}//startIndex曾经访问过,不再重复访问if(memo[startIndex]!=-1){return memo[startIndex]==1;}int steps=nums[startIndex];//可以跳跃几步for(int i=1;i<=steps;i++){//跳跃i步 看看我在下标startIndex+i位置可不可以到达终点if(dfs(nums,startIndex+i)==true){memo[startIndex+i]=1;return true;}}return false;}
}

贪心:时间复杂度O(N)

class Solution {public boolean canJump(int[] nums) {int n=nums.length;int farthest=0;for(int i=0;i<n-1;i++){//不断更新最远index 在i位置的最远距离是i+nums[i]farthest=Math.max(farthest,i+nums[i]);if(farthest<=i){return false;}}return farthest>=n-1;}
}

跳跃游戏2

题目在这里插入图片描述

class Solution {//dfs 暴力穷举final int bigVal=100000;int[] memo;public int jump(int[] nums) {int sz=nums.length;memo=new int[sz];//memo[i]:记录在下标为i处到达终点的最小步数Arrays.fill(memo,-1);return dfs(nums,0);}//定义:以startIndex为起点,返回到达终点的最小跳跃次数int dfs(int[]nums,int startIndex){//起点就是终点 跳跃0步if(startIndex==nums.length-1){return 0;}//曾经访问过if(memo[startIndex]!=-1){return memo[startIndex];}//不可跳跃if(nums[startIndex]==0){return bigVal;}int minStep=bigVal;int steps=nums[startIndex];//从startIndex可以跳steps步for(int i=1;i<=steps;i++){//找出最小的跳跃次数if(startIndex+i<nums.length){memo[startIndex+i]=dfs(nums,startIndex+i);minStep=Math.min(minStep,memo[startIndex+i]+1);}}return minStep;}
}

贪心:O(N)

class Solution {//贪心 public int jump(int[] nums) {int farthest=0,end=0,jump=0;int sz=nums.length;for(int i=0;i<sz-1;i++){farthest=Math.max(farthest,nums[i]+i);//可以跳到[i+1,farthest]之间,if(i==end){jump++;end=farthest;}}return jump;}
}
http://www.dtcms.com/wzjs/428621.html

相关文章:

  • 什么是网络营销的方法网站内链优化
  • 昌平网站建设公司广告推广赚钱在哪接
  • 好看的网站 你知道的2021关键词优化技巧
  • 我想做个旅游网站怎么做app软件开发
  • 专业做设计师品牌网站杭州seo推广优化公司
  • 什么网站做家具出口旅游景点推广软文
  • 包头网站 建设如何申请百度竞价排名
  • 住房城乡建设部 网站今日国际新闻大事件
  • 兰州网站优化网络推广的公司更可靠
  • premium wordpress pluginsgoogle 优化推广
  • 做建材去什么网站营销策划推广公司
  • 公司网站建设合同书外贸网站建设 google
  • 查公司的口碑和评价的网站网站排名优化教程
  • 菜鸟移动端网站开发网络营销软件下载
  • 机关公文写作网站怎么办网站平台
  • 国栋建设网站seo点击优化
  • 官方网站建设 省心磐石网络百度seo排名主要看啥
  • 河北衡水建设网站公司电话快速排名点击工具
  • 做网站图片处理问题今日重大国际新闻军事
  • 工作室官网长春关键词优化平台
  • 自己编写代码建设微网站seo网络优化公司
  • java网站开发模式有哪些厦门seo网站推广
  • 单页面网站制作柳州网站建设哪里有
  • 怎样用vs2017做网站成品网站源码1688免费推荐
  • 济南网站建设公司导航网站怎么推广
  • wordpress看文网站一起来看在线观看免费
  • 长治网站设计制作网站怎么快速优化关键词排名
  • 怎么制作网站教程下载店铺推广怎么做
  • html个人网页中文模板百度seo关键词报价
  • 互联网产品做网站好还是小程序百度seo怎么把关键词优化上去