码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 接雨水三道题LeetCode


    哈喽各位大佬好,我是菜鸟小明哥。扯个闲篇,姚期智大佬原本是学物理的,哈佛物理学博士,何凯明原本也是学过物理的,张朝阳也是学物理的(还是清华的物理),而本菜鸟也是学物理的,哈哈,说明我也有变成大佬的潜质。

     接雨水1,力扣官方:实心柱体中间能存多少雨水?(柱体不一样高,因而能存水)

    采用dp法来做,从左边来看柱体的最值,存储一个数组,从右边来看柱体的最值,存储一个数组,然后取两者的最小值,得到最终的结果

    状态转移关系:

    1. class Solution:
    2. def trap(self, height: List[int]) -> int:
    3. ans=0
    4. if not height:
    5. return 0
    6. n = len(height)
    7. leftMax = [height[0]] + [0] * (n - 1)
    8. for i in range(1, n):
    9. leftMax[i] = max(leftMax[i - 1], height[i])
    10. rightMax = [0] * (n - 1) + [height[n - 1]]
    11. for i in range(n - 2, -1, -1):
    12. rightMax[i] = max(rightMax[i + 1], height[i])
    13. for i in range(n):
    14. ans += min(leftMax[i], rightMax[i]) - height[i]
    15. return ans

     接雨水2,这个难度很大,将上面的换成了立体的,需要用到队列,忽略吧,谁要考这个直接说不会吧。故而,接雨水换成另一题:力扣官方:每个房屋至少有一个接雨水的桶,需要多少个桶?

    题先读懂哈,如下举例:H代表房屋,符号.(英文句号)代表空位置

    每个H至少有一个桶来接雨水(可以共用一个桶,例如"H.H",只需一个桶即满足题意),而且要有空位置放桶接雨水,没有空位置则无法满足,比如字符串"HH"(没有空位置),".HHH."(中间的房屋H无法放桶接雨水,因为它旁边也没有空位置) 这些情况返回-1,没有房屋H的情况就不需要桶来接雨水了,这种返回0,例如"......",".."

    1. class Solution:
    2. def minimumBuckets(self, street: str) -> int:
    3. n = len(street)
    4. i = ans = 0
    5. while i < n:
    6. if street[i] == "H":
    7. if i + 1 < n and street[i + 1] == ".":
    8. ans += 1
    9. # 直接跳过后续的两个位置
    10. i += 2
    11. elif i - 1 >= 0 and street[i - 1] == ".":
    12. ans += 1
    13. else:
    14. return -1
    15. i += 1
    16. return ans

    直接做就是了,找房H,然后找两边的空位置,有就放桶。注释表示:如果是H.H或者H..就不需要考虑了直接跳过即可,就放一个桶就行。

    愿我们终有重逢之时,

    而你还记得我们曾经讨论的话题。

     

  • 相关阅读:
    proxmox PVE 安装 黑群晖
    【NestJS系列】从Nest CLI开始入门
    大一新生HTML期末作业 学生个人网页设计作业 HTML5响应式个人简历网站模板 web前端网页制作课作业
    (复刷) 面试题02.07.链表相交
    泰山OFFICE技术讲座:缩放比例与打开文件
    【AGC】集成华为AGC崩溃服务实用教程
    rustlings本地开发环境配置
    QML使用C++ model(基本用法)
    企业级邮件系统架构
    线性代数学习笔记8-2:对称矩阵和Hermitian矩阵、共轭转置、正定矩阵
  • 原文地址:https://blog.csdn.net/SPESEG/article/details/126475875
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号