【leetcode】283. 移动零
题目内容 283. 移动零 思路分析 参考资料1 参考资料2 本题和75. 颜色分类思想差不多。 方法一:双指针两次遍历 可以设置ptr指针,用来指示按原本的顺序排列的非0数。 第一次遍历:遇到非0数则对nums[ptr]赋nums[i],同时将ptr+1。 第二次遍历:第一次遍历后,ptr以前的区域为按原本顺序...
题目内容 283. 移动零 思路分析 参考资料1 参考资料2 本题和75. 颜色分类思想差不多。 方法一:双指针两次遍历 可以设置ptr指针,用来指示按原本的顺序排列的非0数。 第一次遍历:遇到非0数则对nums[ptr]赋nums[i],同时将ptr+1。 第二次遍历:第一次遍历后,ptr以前的区域为按原本顺序...
题目内容 75. 颜色分类 思路分析 参考资料 方法一:单指针 可以采用一个单指针ptr,来表征“头部区域”的范围。遍历两遍数组: 第一遍:遇到0则将0放进“头部区域”,即交换nums[i]和nums[ptr],并将ptr+1; 第二遍:遇到1则将1放进“头部区域”,即交换nums[i]和nums[ptr],并将...
题目内容 88. 合并两个有序数组 思路分析 参考资料 方法一:插入排序 看到本题,自己想的解法是进行插入排序。 与正常的插入排序一样,都是二分查找+插入的思路。只不过本题有一点点不同:数组一中用0预留出了数组二的位置,因此 数组一整体相当于不是有序的,如[1, 2, 3, 0, 0, 0]。不可以直接在begi...
题目内容 209. 长度最小的子数组 思路分析 参考资料 方法一:前缀和+二分查找 由于题目所给的数组元素都是正整数,且要找到满足≥target的子序列。 因此,设题目所给数组的大小为n,可以创建一个大小为n+1的数组sums,其第i个元素为前i个数字的和,则问题转换为: 对于指定的下标i,求满足sums[j...
题目内容 42. 接雨水 思路分析 本题的总体思路为从第二个柱子起,判断每个柱子左右两边柱子的最大高度,然后max(0, min(左右两边的最大高度)-当前柱子高度)即为当前柱子可以装的水量。 方法一:动态规划 参考资料(其中的解法3) 利用当前柱子及其左边所有柱子的最大高度max_left_height=max...
题目内容 11. 盛最多水的容器 思路分析 看到本题目时,表示没有什么头绪,就只好暴力法硬刚,结果超时了... 看了各个题解,几乎全用的双指针法,其中感觉“缩小搜索空间”的这个说法深得我意,特别是那个表格图,感觉讲得非常非常清晰。 首先要明确的是,设下标为i和j,则此时容器的容积为(j - i) * min(he...