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

双指针|盛最多水的容器|移动0|接雨水

盛最多水的容器

点击查看代码
class Solution {public int maxArea(int[] height) {int n = height.length;int l = 0;int r = n - 1;int res = Integer.MIN_VALUE;while(l < r){int s = (r - l) * Math.min(height[l],height[r]);res = Math.max(res, s);if(height[l] < height[r]){l++;}else{r--;}}return res;}
}

移动0

点击查看代码
class Solution {public void moveZeroes(int[] nums) {int i = 0;int j = 0;while(i < nums.length){if(nums[i] != 0){nums[j] = nums[i];j++;}i++;}while(j < nums.length){nums[j] = 0;j++;}}
}

接雨水

思路一:一个数组存前缀最大值,一个数组存后缀最大值,遍历原数组求和。

点击查看代码
class Solution {public int trap(int[] height) {int n = height.length;int[] pre_max = new int[n];int[] suf_max = new int[n];int pre = Integer.MIN_VALUE;int suf = Integer.MIN_VALUE;int res = 0;for(int i = 0; i < n ; i ++){pre = Math.max(pre,height[i]);pre_max[i] = pre; }for(int j = n-1; j >= 0 ; j--){suf = Math.max(suf,height[j]);suf_max[j] = suf; }for(int k = 0; k < n; k++){int sum = (Math.min(pre_max[k],suf_max[k]) - height[k]);res += sum;}return res;}
}

思路二:双指针,左指针代表前缀最大值,右指针代表后缀最大值;利用左指针遍历;前缀小于后缀,加前缀,反之加后缀。

点击查看代码
class Solution {public int trap(int[] height) {int pre_max = 0;int suf_max = 0;int l = 0;int r = height.length - 1;int res = 0;while(l <= r){suf_max = Math.max(suf_max, height[r]);pre_max = Math.max(pre_max, height[l]);if(pre_max < suf_max){int sum = pre_max - height[l];res += sum;l++;}else{int sum = suf_max - height[r];res += sum;r--;}}return res;}
}
http://www.jsqmd.com/news/115678/

相关文章:

  • 姚顺雨掌腾讯AI大权,我悟了:传统行业创新,别瞎跟风
  • 大模型榜单周报(2025/12/20)
  • Obsidian 笔记
  • windows clion lvgl 使用 sdl2
  • 【Ubuntu】设置中文为默认语言
  • 正点原子阿尔法开发板imx6ull芯片移植u-boot(v2025.04)
  • PCL曲面重建——移动最小二乘法
  • 从手动测试到自动化测试的转型之路:策略、挑战与未来
  • 极限骑行,萌化超级压力的邪修之路。
  • 手把手教你学Simulink——基础电机控制场景实例:基于Simulink的永磁同步发电机电压调节控制仿真
  • S82凿岩机白银优惠价格分析工具趋势报告下载含成本估算与折扣信息优化流程
  • Atlas 200I DK A2 CANN算法优化实战:从环境搭建到算子提速90%
  • 手把手教你学Simulink——基础电机控制场景实例:基于Simulink的永磁同步发电机谐波失真分析仿真
  • 基于Simulink的永磁同步发电机谐波失真分析仿真
  • 【新】基于SSM的汽车售票管理系统【包括源码+文档+调试】
  • 计算机毕业设计springboot高校宿舍分配管理系统 基于SpringBoot的高校智慧寝室分配与综合管理平台 SpringBoot+Vue 高校学生宿舍个性化匹配与事务运营系统
  • 手把手教你学Simulink--协作机器人场景实例:基于Simulink的协作机器人冗余自由度优化仿真
  • 深圳到济南青岛淄博枣庄东营烟台潍坊济宁泰安威海搬家公司搬家物流推荐!跨省搬家排行榜 - 物流人
  • 基于Simulink的永磁同步发电机温度场耦合仿真
  • PCTP 学习笔记-TiDB V6 数据库管理(持续更新中)
  • 由模块联邦引发的思考
  • 毕业季必看:6款免费AI论文生成器实测,AI率从79%骤降至5%!
  • Python 入门与环境搭建
  • AI与提示工程协同进化的瓶颈突破:提示工程架构师的5大创新方案
  • 学Simulink——基础电机控制场景实例:基于Simulink的永磁同步发电机温度场耦合仿真
  • 上海到济南青岛淄博枣庄东营烟台潍坊济宁泰安威海搬家公司搬家物流推荐!跨省搬家排行榜 - 物流人
  • 【Web前端】Angular核心知识点梳理 - 详解
  • 杭州到济南青岛淄博枣庄东营烟台潍坊济宁泰安威海搬家公司搬家物流推荐!跨省搬家排行榜 - 物流人
  • 北京到福州厦门莆田三明泉州漳州南平龙岩宁德搬家公司搬家物流推荐!跨省搬家排行榜 - 物流人
  • 2025年中国前十轮胎品牌:新年度榜单出炉,头部品牌用户增长 - 品牌测评家