响应式网站案例源码,中国住房和城乡建设厅网站首页,品牌策划大赛优秀作品,沈阳市营商环境建设监督局网站一、题目 给你一个 升序排列 的数组 nums #xff0c;
请你原地删除重复出现的元素#xff0c;使每个元素 只出现一次
返回删除后数组的新长度。
元素的 相对顺序 应该保持 一致 。
然后返回 nums 中唯一元素的个数。 二、思路解析 这道题要用到 “双指针” 的概念… 一、题目 给你一个 升序排列 的数组 nums
请你原地删除重复出现的元素使每个元素 只出现一次
返回删除后数组的新长度。
元素的 相对顺序 应该保持 一致 。
然后返回 nums 中唯一元素的个数。 二、思路解析 这道题要用到 “双指针” 的概念这也是我第一次接触。
很不幸这道题我又不会做也是看了答案之后才悟出来的。
下面是我看完答案后自己的思考过程 想要数组元素不重复出现那就可以用两个指针来遍历数组。
一个快指针遍历得快能够更快发现重复的元素
另一个慢指针用来接受那些不重复的元素。
最后返回慢指针即可。 还有一点要注意的就是要使用 If 语句进行分类讨论比如 nums.length 0 的情况数组没有元素这时候则应该返回 0 。 三、完整代码 class Solution {public int removeDuplicates(int[] nums) {if(nums.length0){return 0;}int fast 1;int slow 1;while(fastnums.length){if(nums[fast-1]!nums[fast]){nums[slow]nums[fast];slow;}fast;}return slow;}} 以上就是本篇博客的全部内容啦如有不足之处还请各位指出期待能和各位一起进步