力扣算法题解
文章平均质量分 50
B64A-消闲
加油
展开
-
【算法练习-数组-中级】下一个排列
整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的 下一个排列 就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。给你一个整数数组 nums ,找出 nums 的下一个排列。输入:nums = [1,2,3]输入:nums = [3,2,1]输入:nums = [1,1,5]输出:[1,3,2]输出:[1,2,3]输出:[1,5,1]原创 2022-11-20 12:24:20 · 138 阅读 · 0 评论 -
【算法练习-数组-中级】三数之和
思路:按升序对数组排序,将三数之和问题转为两数之和,确定第一个值nums[i],再将其余两个值的指针分别为b=i+1,c=nums.length-1,一头一尾。以为数组为升序,如果和大于0则c–,如果小于0则b++。思路:将三元数组转换为二元数组,求出所有下标不同和为0的数组,最后去重。原创 2022-11-20 10:06:49 · 120 阅读 · 0 评论 -
【算法练习-数组-中级】盛最多水的容器
面积等于指针之间距离乘以最短板高度,当长板移动时,因为面积为Math.min(height[i],height[j]) * (j - i),短板不变或变小,距离也会变小,因此移动长板面积一定变小,当移动短板时,水槽的短板可能会变大,因此面积可能变大,循环时移动短板,计算面积并更新最大值,两指针相遇时跳出。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。注:只要有这个解法我就会说明,不会因为不可取而略过,可能会有些不全和有多余的步骤,能力有限见谅。原创 2022-11-20 09:11:51 · 63 阅读 · 0 评论