存在重复元素 III

server/2024/9/22 19:08:37/

题目

给你一个整数数组 nums 和两个整数 k 和 t 。请你判断是否存在 两个不同下标 i 和 j,使得 abs(nums[i] - nums[j]) <= t ,同时又满足 abs(i - j) <= k 。

如果存在则返回 true,不存在返回 false。

示例 1:

输入:nums = [1,2,3,1], k = 3, t = 0
输出:true

示例 2:

输入:nums = [1,0,1,1], k = 1, t = 2
输出:true

示例 3:

输入:nums = [1,5,9,1,5,9], k = 2, t = 3
输出:false

提示:

  • 0 <= nums.length <= 2 * 104
  • -231 <= nums[i] <= 231 - 1
  • 0 <= k <= 104
  • 0 <= t <= 231 - 1

参考答案

class Solution {
public:int getID(int x, long w) {return x < 0 ? (x + 1ll) / w - 1 : x / w;}bool containsNearbyAlmostDuplicate(vector<int>& nums, int k, int t) {unordered_map<int, int> mp;int n = nums.size();for (int i = 0; i < n; i++) {long x = nums[i];int id = getID(x, t + 1ll);if (mp.count(id)) {return true;}if (mp.count(id - 1) && abs(x - mp[id - 1]) <= t) {return true;}if (mp.count(id + 1) && abs(x - mp[id + 1]) <= t) {return true;}mp[id] = x;if (i >= k) {mp.erase(getID(nums[i - k], t + 1ll));}}return false;}
};

http://www.ppmy.cn/server/105099.html

相关文章

Lesson 83 Go on holidays

Lesson 83 Go on holidays 词汇 mess n. 咋啊乱&#xff0c;凌乱 v. 弄乱&#xff0c;弄脏 搭配&#xff1a;mess up 事物 弄乱    make a mess 制造麻烦 例句&#xff1a;蓝墨水弄脏了她的新裙子。    She messed up her new dress with the blue ink. pack v. 包装…

html转vue项目

HTML是一种用于构建网页的标记语言&#xff0c;而Vue是一种用于构建用户界面的JavaScript框架。在HTML中使用Vue可以提供更加灵活和动态的用户界面功能。本文将介绍如何将HTML代码转换为Vue&#xff0c;并提供具体的代码示例。 首先&#xff0c;我们需要在项目中引入Vue框架。…

排查端口映射失败的几个案例

端口映射这个话题&#xff0c;已经是老生常谈了&#xff0c;别说这是网工必备技能了&#xff0c;连很多非IT人士都会在路由器上配置端口映射&#xff0c;但我为什么还要单开一篇文章来讲呢&#xff0c;是因为在我的IT外包服务过程中&#xff0c;还是碰到过很多次端口映射失败的…

2024中国AI Agent行业研究报告(PPT 可编辑)+2024中国AI Agent市场研究报告

AI大模型领地 大视研究&#xff1a;2024中国AI Agent行业研究报告 报告共计&#xff1a;60页&#xff08;PPT 可编辑&#xff09; 报告指出&#xff0c;AI Agent作为大模型时代的核心应用&#xff0c;通过自然语言处理和深度学习技术&#xff0c;实现了自主性、反应性与交互…

在表格上,按照单元格数值显示单元格背景进度条

想要实现的效果如下&#xff1a; 单元格背景进度条的大小取决于当前单元格里的数值 TreeList和GridControl的设置方法都是相同的&#xff1a;都是通过给列设置FormatRule来实现的。 相关代码及设置如下&#xff1a; 1、给控件绑定数据源&#xff0c;我的数据源是一个DataTab…

【Linux学习】Linux开发工具——vim

&#x1f525;个人主页&#xff1a; Forcible Bug Maker &#x1f525;专栏&#xff1a;Linux学习 目录 &#x1f308;前言&#x1f525;vim的基本概念&#x1f525;vim的基本操作&#x1f525;vim命令模式的命令集&#x1f525;简单vim配置⭐一键配置美观的vim安装方法卸载方…

BaseCTF 高校联合新生赛Week1(web)

目录 HTTP 是什么呀 喵喵喵•&#xfecc;•​编辑 md5绕过欸 A Dark Room upload Aura 酱的礼物 HTTP 是什么呀 url转义&#xff1a; 是将URL中的特殊字符转换为有效的ASCII字符格式的过程&#xff0c;以确保URL的正确解析和传输。这个过程涉及到将非ASCII字符替换为“%h…

html 首行缩进2字符

1. html 首行缩进2字符 1.1. 场景 在Html开发中让一段文字&#xff08;富文本等&#xff09;首行缩进两个文字&#xff0c;可能在前面加上8个“ ”&#xff0c;因为过去对CSS不熟悉&#xff0c;这种方法实现虽然比较直接&#xff0c;但是文字多的时候会有很多“ ”充斥在代码中…