m0_68389328 2022-07-12 10:56 采纳率: 33.3%
浏览 233
已结题

大学数据结构课题,求教学

如下图,共3题,要求用Python语言实现,初学数据结构内容没有什么头绪,求指导教学,非常感谢!

img

img

img

  • 写回答

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]
    """
    

    我靠,这么多题我还以为只有一题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月14日
  • 已采纳回答 7月12日
  • 修改了问题 7月12日
  • 修改了问题 7月12日
  • 展开全部

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵