手机版 | 登陆 | 注册 | 留言 | 设首页 | 加收藏
当前位置: 网站首页 > python教程 > 文章 当前位置: python教程 > 文章

python题目解答下载那个软件有没有可以搜到python题目的软件

时间:2022-08-04    点击: 次    来源:网络    作者:佚名 - 小 + 大

python题目解答下载那个软件有没有可以搜到python题目的软件


下载地址

https://share.weiyun.com/OvviwGnZ


资料目录
Python练习集100题
100道Python面试题
Python100经典练习题
Python经典题目100道题
Python题库(已收录100道真题)
Python100例视频讲解课程
菜鸟教程Python教程100例
130道python练习题,涵盖基础内容的方方面面
Python考试题复习知识点试卷试题
PYTHON测试题和答案
python第一阶段考试题
Python经典面试题和答案解析
python期末考试复习试卷
python习题集大全(附答案解析)
老男孩Python全栈7期练习题(面试真题模拟)
尚观python第一阶段考试(面试真题模拟)
《Python程序设计基础与应用》习题答案
《Python快速编程入门》——课后题答案
Python编程基础张健 , 张良均课后习题及答案
Python程序设计基础及实践(慕课版)郭炜习题答案
Python程序设计基础习题答案与分析
python基础试题(含答案)

举例

最长重复子数组
题目要求
给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。
输入:
A: [1,2,3,2,1]
B: [3,2,1,4,7]
输出: 3
题目分析
这个题目本质上就是最长公共子串算法,使用动态规划算法就可以轻松解决。
假设A[i] == B[j], 这时,我们不去考虑A[i+1]好B[j+1]的关系,而是考虑A[i-1]和B[j-1]的关系。动态规划,总是依据前面的结果来计算当前的结果。
那么要依据前面的什么结果呢?假设A[i]和B[j]是最长公共子串的结尾处,那么我们用DP[i+1][j+1]记录这个子串的长度。 现在,请考虑DP[i][j]表达的含义是什么呢? 它表示以A[i-1]和B[j-1]结尾的公共子串的长度,且DP[i][j] + 1 = DP[i+1][j+1]。
为什么要用DP[i+1][j+1]来记录以A[i]和B[j]结尾的公共子串的长度呢?看起来,下角标不一致,感觉怪怪的。
之所以这样做,是因为动态规划总是用前面的结果来计算当前的结果。当我们计算DP[i+1][j+1]时,需要用到DP[i][j],i和j都是从0开始的。当我们考虑A[0]和B[0]的关系时,我们想要计算的是DP[1][1],这时,我们就可以利用DP[0][0],如果用DP[0][0]表示以A[0],B[0]结尾的公共子串的长度,那么我们就不得不利用DP[-1][-1]+1来计算DP[0][0],但是DP[-1][-1]并不存在。
因此,DP这个二维矩阵的第一行和第一列都设置为0,如此,就可以完全使用DP[i][j] + 1 = DP[i+1][j+1] 这个公式来进行计算,如下图所示
 
示例代码
def find_max_lengh(lst_1, lst_2):
    max_len = 0
    dp = [[0 for i in range(len(lst_1)+1)] for j in range(len(lst_2)+1)]
    for i in range(len(lst_1)):
        for j in range(len(lst_2)):
            if lst_1[i] == lst_2[j]:
                dp[i+1][j+1] = dp[i][j] + 1
                if dp[i+1][j+1] > max_len:
                    max_len = dp[i+1][j+1]

    return max_len



if __name__ == '__main__':
    lst_1 = [1, 2, 3, 2, 1]
    lst_2 = [3, 2, 1, 4, 7]
    max_len = find_max_lengh(lst_1, lst_2)
    print(max_len)

上一篇:专搜Python题目的软件计算机二级python题目及答案高中Python题目

下一篇:没有了

推荐阅读
声明 | 联系我们 | 关于我们
备案ICP编号  |   QQ:2151239526  |  地址:北京市东城区  |  电话:16605168200  |