.net开发的网站能做优化吗,网站前端用的到ps,中华网军事,做搜狗pc网站排目录
题目#xff1a;
示例#xff1a;
题目分析#xff1a;
解题思路#xff1a; 题目#xff1a; 给你一个 非严格递增排列 的数组 nums #xff0c;请你 原地 删除重复出现的元素#xff0c;使每个元素 只出现一次 #xff0c;返回删除后数组的新长度。元素的…目录
题目
示例
题目分析
解题思路 题目 给你一个 非严格递增排列 的数组 nums 请你 原地 删除重复出现的元素使每个元素 只出现一次 返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。考虑 nums 的唯一元素的数量为 k 你需要做以下事情确保你的题解可以被通过更改数组 nums 使 nums 的前 k 个元素包含唯一元素并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。返回 k 26. 删除有序数组中的重复项 - 力扣LeetCodehttps://leetcode.cn/problems/remove-duplicates-from-sorted-array/description/
示例 题目分析
从题目得知我们要在一个递增的数组中删去数组内部的重复出现的元素并且要直接在数组上进行删除操作且最后需要数组保持递增的顺序。
解题思路 因为我们要在数组内部进行删除操作于是我们可以采取覆盖操作将重复的元素覆盖对此我们可以使用指针进行覆盖操作。但是当覆盖后又会多出重复的元素因此还需要一个指针用来覆盖 覆盖的元素。又因为根据示例我们最后返回的是删去重复项后数组的长度。所以最后可以转变为使用两个指针其中一个为快指针 fast 另一个是慢指针 slow fast指向数组的第二个元素slow指向数组的第一个元素。随后将两个指针指向的元素进行比较如果二者指向的元素不同则二者同时向前走一步。若二者元素相同则slow朝前走fast保持不动并且将fast的赋予slow指向的值。 图例来源Necho - 力扣LeetCode 代码演示
int removeDuplicates(int* nums, int numsSize){int fast 1;int slow 0;while(fastnumsSize){if(nums[slow]nums[fast]){fastfast1;}else{slow slow1;nums[slow]nums[fast];}}return slow 1;}