当前位置: 首页 > 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.gsyq.cn/news/127621.html

相关文章:

  • 课后作业12
  • 骑行,拒绝体重反弹,魔鬼身材稳定剂。
  • 【Ubuntu】设置中文为默认语言
  • windows clion lvgl 使用 sdl2
  • 正点原子阿尔法开发板imx6ull芯片移植u-boot(v2025.04)
  • 【新】基于SSM的汽车售票管理系统【包括源码+文档+调试】
  • 基于Simulink的永磁同步发电机温度场耦合仿真
  • Python 入门与环境搭建
  • AI与提示工程协同进化的瓶颈突破:提示工程架构师的5大创新方案
  • 上海到济南青岛淄博枣庄东营烟台潍坊济宁泰安威海搬家公司搬家物流推荐!跨省搬家排行榜 - 物流人
  • 机器学习教学与工业实践的互促之旅
  • 学Simulink--协作机器人场景实例:基于Simulink的协作机器人冗余自由度优化仿真
  • Java全栈开发面试实录:从基础到实战的深度解析
  • 杭州到长沙株洲湘潭衡阳邵阳岳阳常德张家界搬家公司搬家物流推荐!跨省搬家排行榜 - 物流人
  • 堆的定义与实现
  • 从零开始掌握大数据建模:Hadoop与Spark实战解析
  • 计算机毕业设计springboot基于信息加密的校园迎新微信小程序 SpringBoot 架构下融合安全加密的大学新生指引微信小程序 基于密文传输与 SpringBoot 的高校迎新移动小程序
  • P14813 [CCPC 2024 哈尔滨站] 奇怪的上取整 个人题解
  • 深圳到长沙株洲湘潭衡阳邵阳岳阳常德张家界搬家公司搬家物流推荐!跨省搬家排行榜 - 物流人
  • UVa 12018 Juice Extractor
  • AI Agent在企业数字化转型中的关键角色与实施策略
  • 大模型岗位全解析:从预训练到应用开发,5大梯队深度指南+2026转型攻略
  • 【扣子编程】| 2000字实操指南(Coze最新上线)
  • 提示词工程精华总结:掌握ICIO框架与五大核心要素,AI应用效率翻倍,建议收藏!
  • SpringBoot勤工助学信息管理高效的平台|1125(领完整源码)可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、全套文案
  • 网络传输原理(TCP/IP)
  • AWS For Fluent Bit:高效日志收集与传输的Docker镜像
  • Collections.unmodifiableSet()
  • 一文彻底搞懂AI Agent:从概念到两种核心设计模式(图文详解)
  • 杭州到重庆、成都、昆明、贵阳、遵义、绵阳、宜宾、德阳搬家公司物流排行榜!搬家费用明细! - 物流人