2026/4/18 12:34:17
网站建设
项目流程
js素材网站,做一个中英文网站的价格,PK10如何自己做网站,上海房产做哪个网站好前提提要#xff1a;看懂题目很重要,看懂题目之后就很简单了#xff0c;用简单的写法先写一遍#xff0c;超时了然后换思路#xff0c;如果不会赶紧看题解。题目出的跟数学题一样#xff0c;忍不住爆粗口…
给定一个长度为 n 的整数数组 height 。有 n 条垂线#xff0c;…前提提要看懂题目很重要,看懂题目之后就很简单了用简单的写法先写一遍超时了然后换思路如果不会赶紧看题解。题目出的跟数学题一样忍不住爆粗口…给定一个长度为 n 的整数数组 height 。有 n 条垂线第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明你不能倾斜容器。示例 1输入[1,8,6,2,5,4,8,3,7]输出49解释图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下容器能够容纳水表示为蓝色部分的最大值为 49。示例 2输入height [1,1]输出1问AI 题解我是小朋友总结挑两根柱子让「它们的距离 × 较矮的那个」最大其实就是选出数组x 中 max( (a -b) * x[ min(a,b) ] )挑两根柱子让「它们的距离 × 较矮的那个」最大第一种解法传统for遍历public int maxArea(int[]height){int max0;for(int i0;iheight.length;i){for(int ji 1;jheight.length;j){int hMath.min(height[i], height[j]);int areh *(j - i);if(aremax){maxare;}}}returnmax;}第二种叫做双指针/** * 双指针 * param height * return */ public int maxArea2(int[]height){// 定义左边 int l0;// 定义右边 int rheight.length -1;// 最大值 int max0;// 当左边大于右边的时候说明都遍历完了while(lr){// 判断是左边大还是右边大 int hr - l;int wMath.min(height[l], height[r]);int areh * w;if(aremax){maxare;}if(height[l]height[r]){l;}else{r--;}}returnmax;}解题思路两边往中间夹谁矮谁先动猛的看题解想为什么谁矮谁动我的理解求矩形的面积现在2 个变量 一个是 高 一个是宽宽是一直变的那就控制高如果高是足够高的那面积是一定是比低的大。木桶效应取决于最低的木头所以挪矮的让它变高。