摘要:
题目链接:283. 移动零 - 力扣(LeetCode) 思路: 分为两个阶段,第一个阶段按序遍历数组,将非零元素放在数组前面;第二个阶段将剩余位置填充为0。 class Solution { public: void moveZeroes(vector<int>& nums) { int inde 阅读全文
posted @ 2025-04-16 17:01
林下清风~
阅读(16)
评论(0)
推荐(0)
摘要:
题目链接: 42. 接雨水 - 力扣(LeetCode) 前后缀分解 依次计算每个宽度为1的柱子所容纳的雨水,可由左右两侧柱子最大高度的最小值减去目前柱子的高度得到,左右两侧柱子的最大高度可分别创建两个数组计算得到。 class Solution { public: int trap(vector< 阅读全文
posted @ 2025-04-16 17:01
林下清风~
阅读(13)
评论(0)
推荐(0)
摘要:
题目链接: 15. 三数之和 - 力扣(LeetCode) 题目要求: 三元组元素索引不可重复,三元组元素不能完全相同。 思路: 首先对数组进行排序,for循环枚举第一个元素,双指针指向第二、三个元素。计算三者之和,如果和大于0,元素偏大,减小右指针;如果小于0,元素偏小,增大左指针。同时注意考虑去 阅读全文
posted @ 2025-04-16 17:01
林下清风~
阅读(33)
评论(0)
推荐(0)
摘要:
题目链接: 11. 盛最多水的容器 - 力扣(LeetCode) 思路: 贪心加双指针。首先先让宽度最大,左指针指向最左端,右指针指向最右端;然后左右指针收缩,此时必然导致宽度减小,如果高度也减小必然不是最大值,而高度由左右指针最小的一个决定,因此移动其中最小的一个。 class Solution 阅读全文
posted @ 2025-04-16 17:00
林下清风~
阅读(23)
评论(0)
推荐(0)