数字三角形问题:python

问题描述:函数

问题分析:spa

程序代码:(递归法和动归法)code

# -*- coding: utf-8 -*-

"""

Created on Wed Mar 14 16:35:43 2018

@author: lizihua

题目:

7

3 8

8 1 0

2 7 4 4

4 5 2 6 5

如上三角形,找出一条从顶部到底部的路径,使得路径所通过的数字之和最大。

要求:每步只能向左下或右下走,最后输出这个最大和便可。

其中三角形的行数大于1小于等于100,数字为0~99

输入:第一行n表明三角形行数

接下来n行为三角形各行的数值 (函数从1开始数)

################递归法##################

#缺点:深度遍历每条路径,存在大量重复计算,复杂度为O(2^n),当n=100时,会超时

import numpy as np

n=int(input("请输入三角形行数:"))

D=np.zeros((n,n))

for i in range(n):

D[i]=input("请输入第"+str(i+1)+"行数值:").split(' ')

#将line中的元素转换为整型

D[i] = list(map(int, D[i]))

print(D)

def MaxSum(i,j):

if (i+1)==n:

return D[i][j]

x=MaxSum(i+1,j)

y=MaxSum(i+1,j+1)

return max(x,y)+D[i][j]

print(MaxSum(0,0))

"""

################动态规划法##################

#每次计算完MaxSum[i][j],都将其保存起来,下次用到,则直接调用,其复杂度为O(n^2)

import numpy as np

n=int(input("请输入三角形行数:"))

D=np.zeros((n,n))

for i in range(n):

D[i]=input("请输入第"+str(i+1)+"行数值:").split(' ')

#将line中的元素转换为整型

D[i] = list(map(int, D[i]))

print(D)

def MaxSum(i,j):

global maxsum

maxsum=np.ones((n,n))*(-1)

if maxsum[i][j]!=-1:

return maxsum[i][j]

if (i+1)==n:

maxsum[i][j]=D[i][j]

else:

x=MaxSum(i+1,j)

y=MaxSum(i+1,j+1)

maxsum[i][j]=max(x,y)+D[i][j]

return maxsum[i][j]

print(maxsum)

print(MaxSum(0,0))

最长上升子序列问题:blog

问题描述:递归

问题分析:utf-8

程序代码:input

# -*- coding: utf-8 -*-

"""

Created on Thu Mar 15 10:16:22 2018

@author: lizihua

题目:对于给定序列,求最长上升子序列的长度

"""

import numpy as np

n=int(input("请输入给定序列的长度N:"))

a=np.zeros(n)

maxLen=np.zeros(n)

a=input("请输入给定序列:").split(' ')

#将a中的元素转换为整型

a = list(map(int, a))

print(a)

for i in range(1,n):

for j in range(1,i):

if a[i]>a[j]:

maxLen[j]=max(maxLen[j],maxLen[j]+1)

print(max(maxLen))

最长子序列和 动态规划python_算法基础之python实现动态规划中数字三角形和最长上升子序列问题...相关推荐

  1. 数字三角形,最长上升子序列,背包模型 AcWing算法提高课 (详解)

    目录 数字三角形模型(只能向右和向下或向左和向上) AcWing 1015. 摘花生 AcWing 1018. 最低通行费(曼哈顿距离-向右和向下-求最小值-初始化) AcWing 1027. 方格取 ...

  2. 为什么神经元有数千个突触,一个新皮质中的序列记忆理论(HTM算法基础)

    为什么神经元有数千个突触,一个新皮质中的序列记忆理论(HTM算法基础) Jeff Hawkins* and Subutai Ahmad Numenta, Inc., Redwood City, CA, ...

  3. 编程没基础学python多长时间--零基础学Python,从入门到精通需要多长时间

    求一份小甲鱼的<零基础入门学习Python>视频教程 评论 本系列教程面向础的同学,是一个深入浅通俗易懂的Python3视频教程. 适群 完全零基础入门,不需要任何前置知识. 教程概述 前 ...

  4. python从入门到精通需要多久--零基础学Python,从入门到精通需要多长时间

    求一份小甲鱼的<零基础入门学习Python>视频教程 评论 本系列教程面向础的同学,是一个深入浅通俗易懂的Python3视频教程. 适群 完全零基础入门,不需要任何前置知识. 教程概述 前 ...

  5. 1177: 按要求排序(指针专题)_L2算法基础第10课 排序中

    L2-算法基础-第10课 排序中 排序 归并排序 归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法.该算法是采用分治法(Divide and Conquer)的一个非常典型的应用 ...

  6. python算法基础设计模式,python常见的设计模式

    Python有设计模式么 Python设计模式主要分为三大类:创建型模式.结构型模式.行为型模式;三 大类中又被细分为23种设计模式,以下这几种是最常见的. 单例模式:是一种常用的软件设计模式,该模式 ...

  7. 零基础go还是python_零基础学习Python的经验之谈

    因为薪资比较高的,所以很多人选择当一名程序员,但是关于程序的语言有很多,Python就是其中一个,那么在零基础学习或者参加Python培训时,有什么经验呢?今天小编就来给大家讲一下吧! 1.一定要弄清 ...

  8. 统计信号处理基础_0基础学Python,就业中你需要建立360度无死角技能树

    1956年,人工智能的概念就已经提出,但在以前,人工智能大多只是存在于书本和荧幕中,到了今天,生活中充斥着人工智能的影子,智能语音助手.翻译器.指纹识别.人脸识别.无人驾驶...... 自阿尔法围棋出 ...

  9. python算法攻略_算法基础及python实现笔记一(堆和DFS)

    排序及搜索 讲到排序搜索首先要认识 Python 的基本数据存储结构. NumPy and Pandas 包都提供一些容器可以利用. 堆 (stack) 先进后出原则.比如,一个吃货吃东西,一直吃一直 ...

最新文章

  1. 迁移学习之InceptionV3(159层),Xception(126层),Inception_ResNet_V2(572层)(图像识别)
  2. 新算法可模拟人脑整体神经电路
  3. Jdbc模版式写法与Spring-JdbcTemplate的比较
  4. 【渝粤教育】电大中专电子商务网站建设与维护 (7)作业 题库
  5. 《从零开始学Swift》学习笔记(Day 14)——字符串的插入、删除和替换
  6. 斯坦福自然语言组的NLP及计算语言学的资料汇总
  7. 计算机在教学中应用论文,极域电子教室在计算机教学中的应用
  8. Ace Admin中表格按钮的使用方法——表格导出为xls、pdf,表格打印预览等
  9. uniapp小程序生成海报图
  10. 遇见phpDesigner我笑了 PHP开发利器
  11. WEB表单设计学习心得
  12. 在Ubuntu上安装WPS,并解决字体缺失问题
  13. GB28181学习笔记2 SIP测试工具 Yate安装使用
  14. 工作缺点和不足及措施_个人工作存在的不足和改进措施_个人工作存在问题和整改方案...
  15. Fluent残差图中continuity不收敛如何处理
  16. 撰写全英文EI会议论文值得注意的要点!
  17. Android获取手机中外置内存卡、内置内存卡、手机内存路径
  18. 大变局时代的搜索引擎走向何方?
  19. DevOps 测试实践
  20. 两种方法设置 .NET/C# 项目的编译顺序,而不影响项目之间的引用

热门文章

  1. 控件开发团队已做了第一步,我们已经有了QQ群!(大家注意,现在群还没有搞掂,请先等等,真对不起。)...
  2. 以太坊经典逆势上涨,行情能否继续?
  3. ZipKin添加自定义跨度Span
  4. Python学习——模块的基本知识
  5. Jsoup下载图片报错:UnsupportedMimeTypeException
  6. python - 装饰器(重点,难点(比较绕))
  7. Java开发必会的Linux命令
  8. laravel 重写以及500错误
  9. 书评 —— 深入网站开发和运营
  10. android 获取activity当前view