当前位置: 首页 > news >正文

LeetCode -- Contains Duplicate II

题目描述:


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 difference between i and j is at most k.


给定一个数组,遍历每个数,找出是否存在nums[i]和nums[j]相等并且i和j的距离小于等于k。


思路:
本题考查的还是哈希表的使用,直接用哈希表存每个数字的所有位置。


实现代码:
public class Solution {
    public bool ContainsNearbyDuplicate(int[] nums, int k) {
        if(nums == null || nums.Length == 0){
    		return false;
    	}
    	
        var dict = new Dictionary<int ,IList<int>>();
    	for (var i = 0;i < nums.Length; i++){
    		if(!dict.ContainsKey(nums[i])){
    			dict.Add(nums[i], new List<int>(){i});
    		}
    		else{
    			if(dict[nums[i]].Any(x=>(i-x) <= k)){
    				return true;
    			}else{
    				dict[nums[i]].Add(i);
    			}
    		}
    	}        
    	
    	return false;
    }
}


相关文章:

  • Sql union的反义词Minus
  • LeetCode -- Path Sum III
  • LeetCode -- Minimum Number of Arrows to Burst Balloons
  • 反醒反醒
  • LeetCode -- Arranging Coins
  • Bing在中国不会成功
  • LeetCode -- First Unique Character in a String
  • 搜狗输入法,无心插柳柳成荫
  • LeetCode -- Wildcard Matching
  • 弥平“第三道鸿沟”:3G运营商必须承担的社会责任
  • 使用面向对象重构之-从过程式设计到面向对象
  • Bing API初体验
  • 使用面向对象重构之-继承中的抽象—模板方法
  • www.hellocpp.net开发日记:网站性能优化之文件服务器分离技术
  • 使用面向对象重构之-使用接口完成行为抽象
  • ----------
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 08.Android之View事件问题
  • android 一些 utils
  • C++11: atomic 头文件
  • Docker 笔记(2):Dockerfile
  • js
  • js算法-归并排序(merge_sort)
  • JS字符串转数字方法总结
  • Mybatis初体验
  • Object.assign方法不能实现深复制
  • Promise初体验
  • Python socket服务器端、客户端传送信息
  • React-Native - 收藏集 - 掘金
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 前端攻城师
  • 试着探索高并发下的系统架构面貌
  • # include “ “ 和 # include < >两者的区别
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #pragma 指令
  • (Oracle)SQL优化技巧(一):分页查询
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (二)hibernate配置管理
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (三)Honghu Cloud云架构一定时调度平台
  • (一)基于IDEA的JAVA基础10
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET Core引入性能分析引导优化
  • .Net Core与存储过程(一)
  • .NET 反射的使用
  • .NetCore部署微服务(二)
  • .project文件
  • .so文件(linux系统)
  • /proc/stat文件详解(翻译)
  • @ComponentScan比较
  • @EnableWebMvc介绍和使用详细demo