Leetcode:219

embedded/2025/1/31 16:06:48/

1,题目

2,思路

第一种就是简单的暴力比对当时过年没细想

第二种:

  • 用Map的特性key唯一,把数组的值作为Map的key值
  • 我们每加载一个元素都会去判断这个元素在Map里面存在与否
  • 如果存在进行第二个判断条件abs(i-j)<=k,条件
    • 符合直接true
    • 不符合就让在map中存在的元素被新元素覆盖即可,这样能确保后续判断有效,循环结束则false
  • 第二种无论是在时间复杂度还是空间复杂度上都要比第一种更加优解

3,代码

java">import java.util.HashMap;public class Leetcode219 {public static void main(String[] args) {System.out.println(new Solution219().containsNearbyDuplicate(new int[]{1, 2, 3, 1}, 3));}
}class Solution219 {public boolean containsNearbyDuplicate(int[] nums, int k) {//return fun1(nums, k);//方法一:暴力return fun2(nums, k);//方法二:哈希表查找}public boolean fun1(int[] nums, int k) {int temp = k + 1;for (int i = 0; i < nums.length - 1; i++) {int index = nums[i];for (int j = i + 1; j < nums.length; j++) {int end = nums[j];if (index == end && Math.abs(i - j) <= k) {return true;} else if (Math.abs(i - j) > k) {break;}}}return false;}public boolean fun2(int[] nums, int k) {HashMap<Integer, Integer> map = new HashMap<>();//建立哈希表for (int i = 0; i < nums.length; i++) {if (!map.containsKey(nums[i])) {map.put(nums[i], i);//值为key这样值就是唯一的} else {int num = map.get(nums[i]);//获取题目中的iif (Math.abs(num - i) <= k) {return true;} else {map.put(nums[i], i);//否则覆盖}}}return false;}
}


http://www.ppmy.cn/embedded/158395.html

相关文章

C26.【C++ Cont】动态内存管理和面向对象的方式实现链表

&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;除夕篇&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8; 目录 1.知识回顾…

DeepSeek能执行程序吗?

1. 前言 大过年的&#xff0c;继续蹭DeepSeek的热点&#xff0c;前面考察了DeepSeek能否进行推理&#xff08;DeekSeek能否进行逻辑推理&#xff09;&#xff0c;其实似乎没有结论&#xff0c;因为还没有到上难度&#xff0c;DeepSeek似乎就纠结在一些与推理无关的事情上了&am…

AI 计算的未来:去中心化浪潮与全球竞争格局重塑

引言 人工智能(AI)正以前所未有的速度发展,尤其是大模型训练和推理效率的提升,使得 AI 计算成本迅速下降,呈现出向去中心化演进的趋势。 最新的 DeepSeek r1 模型,以仅 600 万美元 的训练成本,达到了 OpenAI o1 级别的性能,表明 AI 技术正迈向更具普惠性的阶段。这一趋…

【Uniapp-Vue3】uni-icons的安装和使用

一、uni-icon的安装 进入到如下页面中&#xff0c;点击“点击下载&安装”。 uni-icons 图标 | uni-app官网 点击“下载插件并导入HBuilder”&#xff0c;如果没有登录就登陆一下 网页中会打开Hbuilder&#xff0c;进入Hbuilder以后&#xff0c;选择需要使用该插件的项目进…

微服务入门(go)

微服务入门&#xff08;go&#xff09; 和单体服务对比&#xff1a;里面的服务仅仅用于某个特定的业务 一、领域驱动设计&#xff08;DDD&#xff09; 基本概念 领域和子域 领域&#xff1a;有范围的界限&#xff08;边界&#xff09; 子域&#xff1a;划分的小范围 核心域…

【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(三)

目录 1 -> 生命周期 1.1 -> 应用生命周期 1.2 -> 页面生命周期 2 -> 资源限定与访问 2.1 -> 资源限定词 2.2 -> 资源限定词的命名要求 2.3 -> 限定词与设备状态的匹配规则 2.4 -> 引用JS模块内resources资源 3 -> 多语言支持 3.1 -> 定…

数据结构与算法学习笔记----容斥原理

数据结构与算法学习笔记----容斥原理 author: 明月清了个风 first publish time: 2025.1.30 ps⭐️介绍了容斥原理的相关内容以及一道对应的应用例题。 Acwing 890. 能被整除的数 [原题链接](890. 能被整除的数 - AcWing题库) 给定一个整数 n n n和 m m m个不同的质数 p 1 …

大模型知识蒸馏技术(2)——蒸馏技术发展简史

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl2006年模型压缩研究 知识蒸馏的早期思想可以追溯到2006年,当时Geoffrey Hinton等人在模型压缩领域进行了开创性研究。尽管当时深度学习尚未像今天这样广泛普及,但Hinton的研究已经为知识迁移和模…