博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
递归之求二维数组的最短路径、给定一个整数和一个数组任意选择数组中的数累加能否得到该整数...
阅读量:6488 次
发布时间:2019-06-24

本文共 941 字,大约阅读时间需要 3 分钟。

1.给你一个二维数组,二维数组中的每个数都是正数,要求从左上角走到右下角,每一步只能向右或向下沿途经过的数字要累加起来,返回最小路径和

1 # i,j确定则返回值固定 2 def walk(matrix, i, j): 3     if i == len(matrix)-1 and j == len(matrix[0])-1:   # 到达右下角,返回节点值 4         return matrix[i][j] 5     if i == len(matrix)-1:                                 # 到达最后一行 6         return matrix[i][j] + walk(matrix, i, j+1)        # 只能向右走 7     if j == len(matrix[0])-1:                             # 到达最后一列 8         return matrix[i][j] + walk(matrix, i+1, j)        # 只能向下走 9     right = matrix[i][j] + walk(matrix, i, j+1)     # 右边位置到右下角的最短路径和10     down = matrix[i][j] + walk(matrix, i+1, j)      # 下边位置到右下角的最短路径和11     return min(right, down)

2.给你一个数组arr,和一个整数aim。如果可以任意选择arr中的数字,能不能累加得到aim,返回true 或者 false

1 # 关联求字符串的全部子序列2 def isSum(arr, i, sum, aim):3     if i == len(arr):4         return sum == aim5     return isSum(arr, i+1, sum, aim) or isSum(arr, i+1, sum+arr[i], aim)

 

转载于:https://www.cnblogs.com/icekx/p/9149333.html

你可能感兴趣的文章
【POJ 3292】 Semi-prime H-numbers
查看>>
时空的乐章
查看>>
Linux中Sed的用法
查看>>
腾讯 AlloyCrop 1.0 发布
查看>>
第三百四十节,Python分布式爬虫打造搜索引擎Scrapy精讲—css选择器
查看>>
js 字符串转换成数字的三种方法
查看>>
《JAVA与模式》之代理模式
查看>>
【dotnet跨平台】Asp.net 正在经历的变革
查看>>
Sql控制反转小尝试
查看>>
checkmysql.sh
查看>>
Android按键添加和处理的方案【转】
查看>>
如何让 Xcode 在读写上提速100倍?
查看>>
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password)
查看>>
SAP FICO 凭证导入接口 数据xml格式
查看>>
Jupyter Notebook快捷键
查看>>
概率运算中C(k,n)是怎么算的啊? 比如C(6,3)等于几?怎么来的.
查看>>
ES6中Set集合(与java里类似)
查看>>
Python的全局和局部变量
查看>>
快递企业如何完成运单订阅消息的推送
查看>>
shell特殊符号cut命令 sort_wc_uniq命令 tee_tr_split命令 shell特殊符号
查看>>