数组2
与移除元素类似的题目
empty__barrel
这个作者很懒,什么都没留下…
展开
-
力扣:有序数组的平方、
力扣:有序数组的平方代码随想录地址题目:给你一个按 非递减顺序 排序(即递增)的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。注意负数此时可以通过比较开头平方以及末尾平方从而知道最大值。因此可以从大到小逆向排序。此时开辟一个放置元素的最终数组result,三个指针 i , j , k。i 指向当前数组首,j 指向当前数组尾,k 指向 result 数组尾来方置元素。循环结束条件:两值比较塞一值留一值,最后有一个值剩余此时i = j 此值也要塞入,所以条原创 2022-02-07 18:58:30 · 352 阅读 · 0 评论 -
力扣:844.比较含退格的字符串
力扣:844.比较含退格的字符串题目:本编辑器后,请你判断二者是否相等。# 代表退格字符。如果相等,返回 true ;否则,返回 false 。注意:如果对空文本输入退格字符,文本继续为空。官方给了两种①:用栈②:双指针栈代码如下:class Solution {public: bool backspaceCompare(string s, string t) { return build(s) == build(t); } string buil原创 2022-02-10 16:35:59 · 496 阅读 · 0 评论 -
力扣:283.移动零
力扣:283.移动零题目:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。空间想象:上面一个数组,下面一个数组。上面一个数组由 fastIndex 指向,下面一个数组由 slowIndex 指向。将上面一个数组搬到下面一个数组即可。按题意:假如上面一个数组指针指向的值为0则指向下一个数,不为0则交换 slowIndex 指向的数和 fastIndex 指向的数。通过swap就实现了后面的数为0原创 2022-02-10 13:50:01 · 310 阅读 · 0 评论 -
力扣:删除有序数组的重复项
力扣:删除有序数组的重复项题目:给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。将最终结果插入 nums 的前 k 个位置后返回 k 。不要使用额外的空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的原创 2022-02-25 14:37:10 · 92 阅读 · 0 评论 -
力扣:移除元素
力扣:移除元素代码随想录解析题目:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。双指针法:快指针指向要插入的元素的位置慢指针指向要插入的位置要点:for (int fastIndex = 0; fastIndex < nums.size(); fastIndex++) {原创 2022-02-07 17:31:40 · 638 阅读 · 0 评论