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

LEEDCODE 220 存在重复元素3

请添加图片描述

class Solution {
public:int getId(int a, int valuediff){// 值// return a/(valuediff+1);return a < 0 ? (a ) -) / (valuediff + 1) - 1 : a / (valuediff + 1);}public: unordered_map<int, int> bucket;bool containsNearbyAlmostDuplicate(vector<int>& nums, int indexDiff, int valueDiff) {unordered_map<int, int> m;for(int i = 0; i < nums.size(); i++){int b = getId(nums[i], valueDiff);if(m.count(b))return true;else if(m.count(b-1) && abs(nums[i] - m[b-1])<=valueDiff){return true;}else if(m.count(b+1) && abs(nums[i] - m[b+1])<=valueDiff){return true;}m[b] = nums[i];if(i>=indexDiff)m.erase(getId(nums[i-indexDiff], valueDiff));}return false;}};

请添加图片描述

Thinking
1 位置 - 两层控制(只有这:m[b] = nums[i]; 控制位置。滑动窗口)

  • 1)分桶
  • 2) 分通后相邻部分的不确定用滑动窗口控制

2 值控制 if - else(都在控制值)

http://www.lryc.cn/news/232571.html

相关文章:

  • 从内网到公网:使用Axure RP和内网穿透技术发布静态web页面的完整指南
  • 第三天课程 RabbitMQ
  • Ubuntu18.04编译OpenCV时遇到无法下载ADE的问题
  • 基于JavaWeb+SSM+社区居家养老服务平台—颐养者端微信小程序系统的设计和实现
  • 算法实战:亲自写红黑树之五 删除erase的平衡
  • 春秋云境靶场CVE-2021-41402漏洞复现(任意代码执行漏洞)
  • 12 Go的接口
  • Python编程-----并行处理应用程序
  • kubernetes集群编排——istio
  • mfc140u.dll丢失的解决方法,以及mfc140u.dll解决方法的优缺点
  • 2源码安装网络协议
  • 未来服务器操作系统的趋势与展望
  • VB.net WebBrowser网页元素抓取分析方法
  • 自建ES6.2.4切阿里云商业版ES(7.10)整体方案
  • Vue实现封装自定义指令
  • <MySQL> 查询数据进阶操作 -- 聚合查询
  • arm开发板
  • nodejs+vue教室管理系统的设计与实现-微信小程序-安卓-python-PHP-计算机毕业设计
  • rabbitMQ的Topic模式的生产者与消费者使用案例
  • 【软考篇】中级软件设计师 第五部分
  • 论文阅读——RetNet
  • 【Proteus仿真】【51单片机】锂电池管理系统
  • 【工具使用-VScode】设置 VSCode 的自动保存功能
  • 常用Git命令记录
  • Go语言常用库
  • 二叉树(进阶)
  • Flink之OperatorState
  • Python集成学习和随机森林算法
  • 代码随想录算法训练营第二十四天| 77 组合
  • el-dialog element-ui弹窗