如何从排序数组中删除重复项并使用 C# 返回非重复数组?
数组已经排序,我们可以保留两个指针ii和jj,其中ii是慢跑者,而jj是快跑者。只要nums[i]=nums[j]nums[i]=nums[j],我们增加jj以跳过重复项。
当我们遇到nums[j]!=nums[i]时,重复运行已经结束,因此我们必须将其值复制到nums[i+1]nums[i+1]。然后ii递增,我们再次重复相同的过程,直到jj到达array.Create新数组的末尾,从过滤后的数组中复制所有元素直到索引并返回新数组。
时间复杂度-O(N)
示例
using System;
namespace ConsoleApplication{
public class Arrays{
public int[] RemoveDuplicatesFromSortedArrayAndReturnArray(int[] arr){
int index = 1;
for (int i = 0; i 输出结果0 1 2 3 4
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下