c# Leetcode 219. 存在重复元素 II

j-i 绝对值<=k 即可。我的方法有个别测试案例不通过,以为是用例错了,先记录于此,后期读懂题意谨记修改。

bool b = false;  bool res = false;  int add = 0; int pps = 0;
			var dic = new Dictionary<int, int>(); 
			foreach (var item in nums)
			{
				if (dic.ContainsKey(item))
				{
					pps = item;
					b = true;
					break;
				}
				else
				{
					dic[item] = add++;
				}
			}
			if (b)
			{
				foreach (var item in dic)
				{
					if (item.Key == pps)
					{
						if (Math.Abs(item.Value - add) <= k)
						{
							return res = true;
						}
					}
				}
			}
			return res;
public static void Main(string[] args)
		{
			int[] s = new int[] { 1, 2, 3, 1, 2, 3 }; int k = 2;
			bool res= ContainsNearbyDuplicate(s,k);
			Console.Write(res);
			Console.ReadKey();
		}

猜你喜欢

转载自blog.csdn.net/us2019/article/details/86492303