如下图,共3题,要求用Python语言实现,初学数据结构内容没有什么头绪,求指导教学,非常感谢!
3条回答 默认 最新
- chuifengde 2022-07-12 11:52关注
按道理从东往西简单些,但因为旅行者是从西往东走,那设计思路如下:
1.假设数组为[8,10,3,6,5]
则将数组中的数依次入队列que,用栈来保存湖景房
先出队,在出队的时候判断栈是否为空,栈不空的时候,不停地检测当前出队的房高是否高于栈顶的房高,如果高就出栈,直到不高于栈项的房高为止,最后将当前出队的房高入栈。
2. 示例import queue A = [8, 10, 3, 6, 5] que = queue.deque() for i in A: que.append(i) stack = list() while que: t = que.popleft() while stack: if t > stack[-1]: stack.pop() else: break stack.append(t) print(stack) """--result [10, 6, 5] """
我靠,这么多题我还以为只有一题
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 3无用
悬赏问题
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效