做网站手机版和电脑版怎么区分,如何来做网站,网站开发部组织架构,濮阳网络直播思路#xff1a;根据类似于滑动窗口的思想#xff0c;定义一个指针#xff1b;使指针左边的区域全部为不重复元素#xff08;包括指针所指的数字#xff09; 以示例2为例#xff0c;left#xff1a;红色加粗 遍历指针i#xff1a;黑色加粗 窗口范围#xff0c;左边界到… 思路根据类似于滑动窗口的思想定义一个指针使指针左边的区域全部为不重复元素包括指针所指的数字 以示例2为例left红色加粗 遍历指针i黑色加粗 窗口范围左边界到右边界左闭右闭 0011122334 第一轮nums[right] nums[i] - i 0011122334 第二轮nums[right] nums[i] - i 0011122334 第三轮nums[right] ! nums[i] - 窗口扩大将right把nums[i]的数值赋给nums[right]i; 0111122334 第四轮nums[right] nums[i] - i 0111122334 第五轮nums[right] nums[i] - i 0111122334 第六轮nums[right] ! nums[i] - 窗口扩大将right把nums[i]的数值赋给nums[right]i; 0121122334 第七轮nums[right] nums[i] - i 0121122334 第八轮nums[right] ! nums[i] - 窗口扩大将right把nums[i]的数值赋给nums[right]i; 0123122334 第九轮nums[right] nums[i] - i 0123122334 第十轮nums[right] ! nums[i] - 窗口扩大将right把nums[i]的数值赋给nums[right]i; 0123422334 i超出范围退出遍历 红4右边区域包括红4即所求 Java实现
class Solution {public int removeDuplicates(int[] nums) {int right 0;for(int i 0;i nums.length;i){if(nums[i] ! nums[right]){left;nums[right] nums[i];}}return right 1;}
}