1 二叉树路径(10分)

题目内容:

给定一个二叉查找树的节点插入顺序,请重新构建这个二叉查找树,并按从左至右顺序返回所有根节点至叶节点的路径

输入格式:

一行整数,以空格分隔

注:测试用例中不包含重复的数字

输出格式:

按照叶节点由左至右顺序,以“根节点值->节点值->…->叶节点值”输出每条路径,每行输出一条

输入样例:

5 2 6 1 3 7 4

输出样例:

5->2->1

5->2->3->4

5->6->7

注:对应的二叉查找树如下图:

解题思路:

先构造二叉搜索树,接着前序遍历该二叉搜索树,到达叶节点时保存当前路径,最后分行打印所有路径

程序代码:

class TreeNode:

def __init__(self, key, left=None, right=None):

self.key = key

self.val = None

self.leftChild = left

self.rightChild = right

def put(self, key):

if key < self.key:

if self.leftChild:

self.leftChild.put(key)

else:

self.leftChild = TreeNode(key)

else:

if self.rightChild:

self.rightChild.put(key)

else:

self.rightChild = TreeNode(key)

def generateTree():

root = TreeNode(lst[0])

for i in lst[1:]:

root.put(i)

return root

def preorderTree(tree, path):

path += str(tree.key)

if not tree.leftChild and not tree.rightChild:

result.append(path)

else:

path += '->'

if tree.leftChild:

preorderTree(tree.leftChild, path)

if tree.rightChild:

preorderTree(tree.rightChild, path)

lst = [int(num) for num in input().split()]

root = generateTree()

result = []

path = ''

preorderTree(root, path)

for p in result:

print(p)

2 入室抢劫(10分)

题目内容:

一个专业的小偷决定连夜搜刮沿街的房子。每间房都藏有一定的现金;但需要注意的是,这条街上相邻的房间都装有连通的报警系统,一旦相邻的房间同时被偷则会自动报警。请规划方案,使不触发报警器的前提下获得最大的收益。

输入格式:

一行非负整数序列,代表沿街每个房间的收益

输出格式:

一个整数,代表可能的最大收益

输入样例:

2 1 2 3

输出样例:

5

注:同时偷窃下标为 0(收益2)与 3(收益3)的房间,可以获得最大收益5

解题思路:

运用动态规划算法,opt(i)表示偷窃下标前i个房间的最大收益,我们从盗取下标为2的房间开始,盗贼可以选择盗取下标为2的房间,或者选择不盗取,选择盗取下标为2的房间,则opt(2) = opt(0) + value[2],选择不盗取,则opt(2) = opt(1),最后opt(2)在两者之间选最大值, 即opt(2) = max(opt(1), opt(0) + value[2])

程序代码:

value = [int(num) for num in input().split()]

N = len(value)

opt = [0 for i in range(N)]

if N == 0:

print(0)

elif N == 1:

print(value[0])

elif N == 2:

print(max(value))

else:

opt[0] = value[0]

opt[1] = max(value[0], value[1])

for i in range(2, N):

opt[i] = max(opt[i - 2] + value[i], opt[i - 1])

print(opt[-1])

原文链接:https://blog.csdn.net/Divine0/article/details/106381901

数据结构与算法python版 期末考试_数据结构与算法Python版期末在线考试OJ部分相关推荐

  1. python除法运算定律_安康宁陕Python科学计算_高校邦_答案

    安康宁陕Python科学计算_高校邦_答案h779 安康宁陕Python科学计算_高校邦_答案 关注公众号{帅搜}即可查询答案 支持:大学网课,智慧树,知到,超星,尔雅,学习通,选修课,公务员,外语类 ...

  2. 猿圈 题库_猿圈AI考试题库 智慧在线考试宝典

    原标题:猿圈AI考试题库 智慧在线考试宝典 网络编辑工具箱,一键排版格式化网编工具,网络编辑转帖工具.最终版,不再更新! 猿圈 AI 考试题库 智慧在线考试宝典 作为HR的你 有没有因为不知道某个岗位 ...

  3. 华南理工深度学习与神经网络期末考试_深度学习算法地图

    原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的. 其它机器学习.深度学习算法的全面系统讲解可以阅读<机器学习-原理.算法与应用>,清华大学出版社,雷明 ...

  4. 山东财经大学python期末考试_关于做好2018-2019学年第一学期期末考试工作的通知...

    各学院(部): 根据学校教学安排,2018-2019学年第一学期期末考试从2018年12月24日开始,2019年1月13日结束,其中2019年1月7日至1月13日为集中考试时间.相关事项安排如下: 一 ...

  5. python链表怎么定义_码哥聊Python数据结构--链表

    前几天我们开了个数据结构的坑,说了栈,留言里有同学提到链表,那今天码哥就来讲讲链表. 链表是什么 链表.列表,说起来有点相似,作用也有点类似,但可别傻傻分不清楚.我们一般说的列表,是一个连续的序列,用 ...

  6. python限制输入类型_《计算机二级Python语言程序设计考试》第3章:基本数据类型...

    考纲考点数字类型:整数类型.浮点数类型和复数类型 数字类型的运算:数值运算操作符.数值运算函数 字符串类型及格式化:索引.切片.基本的format()格式化方法 字符串类型的操作:字符串操作符.处理函 ...

  7. 零基础学习python人工智能考试_零基础自学Python人工智能,看这些资料就够了

    教程说明: 本套教程属于人工智能.机器学习.深度学习.自然语言处理方向的教程,涵盖python基础.python高级教程.大数据.数据分析.数据挖掘.高等数学.概率论统计.算法结构.量化交易.Kagg ...

  8. 小学生python编程写游戏_小学生开始学Python,开发AI的首选编程语言:推荐一波Python书单...

    AlphaGo 都在使用的 Python 语言,是最接近 AI 的编程语言. 教育部考试中心近日发布了"关于全国计算机等级(NCRE)体系调整"的通知,决定自2018年3月起,在全 ...

  9. python 北京大学陈斌教授_【慕课】Python 语言基础与应用(第2次开课)

    慕课<Python语言基础与应用>又开新学期啦! 3月14日第2次开课 编程语言排行榜首,人工智能时代头牌语言 Python 零基础也要学! 本课基于主讲教师在北京大学讲授数据结构与算法课 ...

  10. 我的python学习笔记全集_记录我的Python学习笔记

    不想再像以前那样,什么都从头开始学习语法.总结语法,这样反而会过分纠结于语法,耽误了开发,毕竟语言的主要属性是工具,次要的属性是语言本身. 所以还是先熟练使用语言去进行开发,等足够熟悉了,再去研究语言 ...

最新文章

  1. java开发环境变量配置-JDK11-(win10),重启之后环境变量配置失效的解决办法
  2. 那天,我被拉入一个Redis群聊···
  3. [转]open channel SSD FTL
  4. 计算机网络研讨_[即将举行的网络研讨会]对Kubernetes进行故障排除:您需要具备的7个关键组件...
  5. 网站优化之交换友情链接应注意什么?
  6. OpenCV中VideoWriter输出视频文件为空或6KB解决方法(java)
  7. Vue — 第一天(极速入门)
  8. NOD32升级ID获取器For流星无语更新了
  9. elementui树状菜单tree_vue.js+element-ui做出菜单树形结构
  10. Webpack打包构建太慢了?试试几个方法
  11. 数据库工作笔记002---Linux下开启,重启,关闭mysql
  12. 爬虫工具和服务——Python之外的选择
  13. 多WEB服务器共享SESSION方案
  14. matlab计算边界层厚度,边界层厚度.PPT
  15. 工业4.0智能电批扭力输出异常问题
  16. aws 亚马逊_Amazon AWS Rekognition教程
  17. socks5 python_用Python写socks5服务器端
  18. 【Spring Securtiy】A granted authority textual representation is required
  19. 1123581321递归算法java_斐波那契数列的算法
  20. 非常喜欢的一期《晓松奇谈》

热门文章

  1. 1.openpyxl 打开工作簿
  2. python操作微信手机端下载_用PYTHON玩微信(非常详细)
  3. 国内4A级户外广告企业一致选择的广告管理软件
  4. don't android xml,GitHub - KunMinX/Linkage-RecyclerView: 即使不用饿了么订餐,也请务必收藏好该库! 一行代码即可接入,二级联动订餐列表。...
  5. 有没有不用布线的家用监控摄像头?
  6. CentOS上安装部署gitblit
  7. 2019年9月 第一次参加PAT考试体验及题解
  8. android 不能禁用呼叫转移
  9. Mysql实现根据经纬度查询周围的商家,并按距离进行排序
  10. git移除不需要版本控制文件