219. Contains Duplicate II
来源:互联网 发布:unity3d跑酷游戏教程 编辑:程序博客网 时间:2024/06/16 20:36
原题
Given an array of integers and an integer k, find out whether there are two distinct indices i and j in the array such that nums[i] = nums[j] and the absolute difference between i and j is at most k.
代码实现
public bool ContainsNearbyDuplicate(int[] nums, int k) { Dictionary<int, int> dict = new Dictionary<int, int>(); //元素值,索引 for (int i = 0; i < nums.Length; i++) { if (dict.ContainsKey(nums[i])) { if (Math.Abs(i - dict[nums[i]]) <= k) return true; dict.Remove(nums[i]); //移调 dict.Add(nums[i], i);//添加最新的 continue; } dict.Add(nums[i], i); } return false; }
2 0
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- 219. Contains Duplicate II
- PHP语言概述
- Python语言概述
- 网络编程--数据链路层
- 计算机视觉、机器学习相关领域论文和源代码大集合
- AIDL中的定向tag
- 219. Contains Duplicate II
- C语言基础知识之三
- uc/os-II优先级反转
- 51nod 1087 1 10 100 1000
- Xen的架构和解释
- 移动硬盘插入电脑后没有显示
- tracert、traceroute、mtr、WinMTR
- KMP算法
- 2017年5月4日C++学习笔记