当前位置: 首页 > 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/a/302969.html

相关文章:

  • 【VBA实战】用Excel制作排序算法动画续
  • TensorRT基础知识
  • 【2024最新】基于springboot+vue的闲一品交易平台lw+ppt
  • YUM 的使用
  • Xshell,Shell的相关介绍与Linux中的权限问题
  • ubuntu cmake CPack将第三方库进行打包
  • 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(交换器)
  • 学生请假管理系统