文档章节

袋鼠过河python

hc321
 hc321
发布于 04/06 20:54
字数 398
阅读 43
收藏 0

一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子,每隔一米就有一个,每个桩子上都有一个弹簧, 袋鼠跳到弹簧上就可以跳的更远。每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为5,就代表袋鼠下一跳最多能够跳5米, 如果为0,就会陷进去无法继续跳跃。河流一共N米宽,袋鼠初始位置就在第一个弹簧上面,要跳到最后一个弹簧之后就算过河了, 给定每个弹簧的力量,求袋鼠最少需要多少跳能够到达对岸。如果无法到达输出-1 输入描述: 输入分两行,第一行是数组长度N (1 ≤ N ≤ 10000),第二行是每一项的值,用空格分隔。 输出描述: 输出最少的跳数,无法到达输出-1 示例1 输入 5 2 0 1 1 1 输出 4

#递归方法
lens=int(input())
lists=list(map(int,input().split()))
ind_get={}
for i in range(1,lens+1):
    ind_get[i]=list(range(i+1,i+lists[i-1]+1))
def get_min(ind_get,ind):
    get_list=[]
    if ind==1:
        return 1
    for k, v in ind_get.items():
        if k < ind and ind in v:
            get_list.append(get_min(ind_get, k))
    min_num=min(get_list)
    return min_num+1
res=get_min(ind_get,lens)
print(res)
#动态规划
lens=int(input())
lists=list(map(int,input().split()))
dp=[i for i in range(lens+1)]
for i in range(lens+1):
    if i ==0:
        continue
    flag=False
    for j in range(i):
        if j+lists[j] >= i:
            dp[i]=min(dp[i],dp[j]+1)
            flag=True
    if flag==False:
        break
if flag==True:
    print(dp[lens])
else:
    print("-1")

© 著作权归作者所有

共有 人打赏支持
hc321
粉丝 0
博文 63
码字总数 26590
作品 0
海淀
程序员
真详细,五年Python大咖花了一周归纳出来的python基础知识实例!

1、在Python 语言中,对象是通过引用传递的。 2、多元赋值,其实就是元组赋值 3、编写模块 4、时刻记住一个事实 5、动态类型 6、变量在内存中是通过引用计数来跟踪管理的 7、异常处理 8、所有...

Python新世界
07/21
0
0
linux-Centos7安装python3并与python2共存

1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5。 使用 python -V 命令查看一下是否安装Python 然后使用命令 which python 查...

lemonwater
04/17
0
0
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转...

Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等) s.strip() .lstrip() .rstrip(',') 去空格及特殊符号 复制字符串 Python 连接字符串 Pyth...

木雨山
2012/09/13
0
0
收集的几个Python恋爱神器,让python编程帮你追求女孩!

](upload_images/9305082-c125aaaec63deed4?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) Python程序员教你由单身dog进进化成为秀恩爱dog! 今天教大家,怎样用Python做一份特别的礼...

Python新世界
07/27
0
0
Python系列英文原版电子书

【专题推荐】Python系列英文原版电子书 http://down.51cto.com/zt/104 python简明教程(CHM) http://down.51cto.com/data/49213 Linux黑客的python编程之道【pdf】推荐 http://down.51cto.co...

best_raven
2015/08/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用rancher界面化管理docker并部署springCloud项目的其中一个服务

一、先来个简单的 1.安装docker 2.安装eureka——运行docker命令安装 3.安装eureka——运行dokcer镜像安装 (1)构建eureka的镜像,网易云的docker镜像比较全一些,也可以去https://hub.docke...

monroeCode
8分钟前
1
0
理论与实践:如何从Hadoop迁移到MaxCompute

摘要:MaxCompute大数据计算服务,能提供快速、完全托管的PB级数据仓库解决方案,能够使用户经济且高效地分析处理海量数据。而用户往往之前使用了Hadoop实现大数据计算任务,在选择了阿里云大...

阿里云云栖社区
9分钟前
1
0
mysql: utf8 && utf8mb4

https://mathiasbynens.be/notes/mysql-utf8mb4 临时收藏

阿dai
20分钟前
0
0
面试宝典系列-nginx限流

Nginx自身有的请求限制模块ngx_http_limit_req_module、流量限制模块ngx_stream_limit_conn_module基于令牌桶算法,可以方便的控制令牌速率,自定义调节限流,实现基本的限流控制。 如何Ngi...

suyain
21分钟前
0
0
下拉框选择数据过滤?

需求:下拉框数据新增一条数据,已选择的不能再重新被选择 数据:存放表格数据的数组 scoreTable 下拉框数据 catorgaryArr 定义一个已经选择了的id数组 catorgaryIds 实现: arr 使用来保存每...

西园里的猫
26分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部