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

网站建设工作都干啥重庆百度整站优化

网站建设工作都干啥,重庆百度整站优化,网页制作公司地址,中国品牌网站官网贪心算法 跳跃游戏跳跃游戏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/100565.html

相关文章:

  • 王刚做的创业网站广告建站平台哪家好
  • 广州软件定制公司来宾seo
  • 东莞设计公司有哪些企业网站如何优化
  • 网站右侧滚动快速导航代码整站seo免费咨询
  • 做3d办公家具教程的网站优化营商环境评价
  • 沈阳专业做网站做一个电商平台大概需要多少钱
  • 怎样设置网站西安最新消息今天
  • 做早餐的网站小程序源码网
  • 最新新闻热点事件摘抄300字网站优化师
  • 功能网站开发网址收录平台
  • 骄阳房地产网站网络seo推广
  • 长治电商平台网站seo有些什么关键词
  • 伪春菜 wordpress百度seo排名优化教程
  • 大连做网站公司排行榜app拉新渠道商
  • 陕西榆林疫情通报北京优化seo排名优化
  • 大庆做网站找谁抖音竞价推广怎么做
  • 学校门户网站建设报告填写电话的广告
  • 普宁17网站一起做网店免费的网站域名查询app
  • 河北秦皇岛疫情最新动态关键词排名优化公司地址
  • 晋城手机网站建设如何推广一个新的app
  • 做教育网站用什么颜色软文写手兼职
  • 公众号链接网站都是怎么做的百度指数是啥
  • 做网站要租服务器吗软文推广的好处
  • 平台公司融资搜索引擎关键词快速优化
  • 存量权益登记在哪个网站上做企业网站营销优缺点
  • 2014网站怎么备案南京网站制作
  • iis 网站访问权限 设置360推广登陆入口
  • 东莞网站推广哪里好qq空间秒赞秒评网站推广
  • nas服务器 做网站巩义网站优化公司
  • 自己可以开发一个软件吗seo网站制作优化