当前位置: 首页 > article >正文

【hot100-java】【接雨水】

R8-双指针篇

转战java后端的第一天,学点java语法(手动狗头)

这题之前写过多种解法

下面我们使用前后缀分离法解决。 

class Solution {
    public int trap(int[] height) {
        int n = height.length;
        //表示height[0]到height[i]的最大值
        int[] preMax=new int[n];
        preMax[0]=height[0];
        for (int i=1;i<n;i++){
            preMax[i]=Math.max(preMax[i-1],height[i]);
        }
        //sufMax[i]表示从height[i]到height[n-1]的最大值
        int[] sufMax = new int[n];
        sufMax[n-1]=height[n-1];
        for (int i=n-2;i>=0;i--){
            sufMax[i]=Math.max(sufMax[i+1],height[i]);
        }

        int ret=0;
        for (int i=0;i<n;i++){
            ret+=Math.min(preMax[i],sufMax[i])-height[i];
        }
        return ret;

    }
}

原来java这些语言都这么快,真是用久了python不知道外面的天高地厚。 


http://www.kler.cn/news/302969.html

相关文章:

  • NCBI-get-spesis-ref-IDs_fast.py
  • AI与艺术的碰撞:当机器开始创作,创造力何在?
  • HarmonyOS4升级到Harmonyos Next(Api 11)系列教程
  • 音视频开发之旅(93)-图像超分增强之Real-ESRGAN
  • Vue 3 组合式 API
  • C++ | Leetcode C++题解之第393题UTF-8编码验证
  • RabbitMQ SDK 支持发布、消费,连接恢复,死信队列,多种使用场景
  • db.fsyncLock() 和 db.fsyncUnlock()
  • 前后端分离项目实现SSE
  • Redis Sentinel(哨兵)详解
  • 从JVM角度看对象创建过程和内存布局
  • 基于微信小程序+Java+SSM+Vue+MySQL的宿舍管理系统
  • F1C100S/F1C200S的资料来源说明
  • 快速切换淘宝最新镜像源npm
  • js 时间戳转日期格式
  • 【STM32笔记】STM32CubeIDE介绍
  • 漫谈设计模式 [18]:策略模式
  • ISO 21434与网络安全管理系统(CSMS)的协同作用
  • Java 入门指南:Java 并发编程 —— 同步工具类 Exchanger(交换器)
  • 学生请假管理系统
  • pytest钩子函数
  • Ubuntu22.04安装nginx
  • SpringBoot项目用Aspose-Words将Word转换为PDF文件正常显示中文的正确姿势
  • RP2040 C SDK clocks时钟源配置使用
  • 【Kubernetes】K8s 的鉴权管理(二):基于属性 / 节点 / Webhook 的访问控制
  • 《PhysDiff: Physics-Guided Human Motion Diffusion Model》ICCV2023
  • Rust使用Actix-web和SeaORM库开发WebAPI通过Swagger UI查看接口文档
  • 若依框架使用MyBatis-Plus中的baseMapper的方法报错Invalid bound statement (not found):
  • 中电金信:金融级数字底座“源启”:打造新型数字基础设施 筑牢千行百业数字化转型发展基石
  • sponge创建的服务与dtm连接使用etcd、consul、nacos进行服务注册与发现