【LeetCode 0170】【哈希】两数之和(3) 数据结构设计
https://leetcode.com/problems/two-sum-iii-data-structure-design/
描述
Design and implement a TwoSum class. It should support the following operations: add and find.
add(input) – Add the number input to an internal data structure.
find(value) – Find if there exists any pair of numbers which sum is equal to the value.
For example
add(1); add(3); add(5);
find(4) // true;
find(7) // false
题解
- 暴力法(哈希+数组):计算每一对数字之和放入hashmap,O(n2)个存储空间,同时需要记住已经加入的N个数字,
add时,需要与每个已加入的数字做加法存入hashmap,find时,只需要O(1)时间复杂度 - 二分插入+双指针:保持已经插入的数字有序,
add时查找插入位置插入,find时使用双指针O(n)时间复杂度 - 高效哈希法,只需要存储所有插入的数字,为插入数据为key,次数为value(注意哈希中存在多个相同的数字)
function TwoSum(){this.hashmap = {};
}
TwoSum.prototype.add = function(e){if(null == this.hashmap[e]){this.hashmap[e] = 1;}else{this.hashmap[e] ++;}
}
TwoSum.prototype.find = function(sum){for(let current in this.hashmap){let antoher = sum-current ;if(antoher == current && this.hashmap[current] > 1){//存在 多个相同的valuesreturn true;}else if(null != this.hashmap[antoher]){// 存在不同的2个数字之和为sumreturn true}}return false
}
相关文章:
【LeetCode 0170】【哈希】两数之和(3) 数据结构设计
https://leetcode.com/problems/two-sum-iii-data-structure-design/ 描述 Design and implement a TwoSum class. It should support the following operations: add and find. add(input) – Add the number input to an internal data structure. find(value) – Find if …...
005、简单页面-容器组件
之——布局 目录 之——布局 杂谈 正文 1.布局基础知识 2.Column 3.Row 4.实践 杂谈 布局容器组件。 一个丰富的页面需要很多组件组成,那么,我们如何才能让这些组件有条不紊地在页面上布局呢?这就需要借助容器组件来实现。 容器组件是…...
stm32中断调用流程
USART1_IRQHandler(void)(中断服务函数) -> HAL_UART_IRQHandler(UART_HandleTypeDef *huart)(中断处理函数) -> UART_Receive_IT(UART_HandleTypeDef *huart) (接收函数) -> HAL_UART_RxCpltCallback(huart);(中断回调函数) HAL_UART_IRQHandler(UART_HandleTypeDef…...
18487.1 - 2015 电动汽车充电系统标准 第1部分 关键点梳理
一、部分知识介绍 1、连接方式 使用电缆和连接器将电动汽车接入电网(电源)的方法。 1.1、连接方式A 1.2、连接方式B 1.3、连接方式C 2、电动汽车控电设备 2.1、按照输出电压分类 1)交流 单相 220V,三相 380V. 2)…...
WPF实战项目十八(客户端):添加新增、查询、编辑功能
1、ToDoView.xmal添加引用,添加微软的行为类 xmlns:i"http://schemas.microsoft.com/xaml/behaviors" 2、给项目添加行为 <i:Interaction.Triggers><i:EventTrigger EventName"MouseLeftButtonUp"><i:InvokeCommandAction Com…...
职位招聘管理与推荐系统Python+Django网页界面+协同过滤推荐算法
一、介绍 职位招聘管理与推荐系统。本系统使用Python作为主要开发语言,以WEB网页平台的方式进行呈现。前端使用HTML、CSS、Ajax、BootStrap等技术,后端使用Django框架处理用户请求。 系统创新点:相对于传统的管理系统,本系统使用…...
C#文件流二进制文件的读写
目录 一、BinaryWriter类 二、BinaryReader类 三、示例 1.源码 2.生成效果 二进制文件的写入与读取主要是通过BinaryWriter类和BinaryReader类来实现的。 一、BinaryWriter类 BinaryWriter类以二进制形式将基元类型写入流,并支持用特定的编码写入字符串&#…...
如何正确选择爬虫采集接口和API?区别在哪里?
在信息时代,数据已经成为了一个国家、一个企业、一个个人最宝贵的资源。而爬虫采集接口则是获取这些数据的重要手段之一。本文将从以下八个方面进行详细讨论: 1.什么是爬虫采集接口? 2.爬虫采集接口的作用和意义是什么? 3.爬虫…...
k8s部署jenkins
1.先决条件 1.因为国内的容器镜像加速器无法实时更新docker hub上的镜像资源.所以可以自己进行jenkins的容器镜像创建,. 2.这里用到了storageClass k8s的动态制备.详情参考: k8s-StoargClass的使用-基于nfs-CSDN博客 3.安装docker服务.(用于构建docker image) 2.构建jenki…...
HTTP相关
HTTP 什么是http - 蘑菇声活 http特点 1.基于TCP协议之上的应用层协议 2.基于请求--响应 3.无状态(每次发送请求对服务端都是新的) 4.无/短连接(客户端不会一直跟服务端连接) http请求协议与响应协议 请求协议 请求首行&…...
Armv8.x和Armv9.x架构扩展简介
目录 一、概述 二、Armv8.x和Armv9.x是什么意思? 三、为什么我们需要.x扩展? 四、处理器实现...
node的proxy-server使用
代理服务器是一种常见的网络工具,可以用来隐藏客户端的真实IP地址,保护客户端的隐私,也可以用来绕过一些网络限制,访问被封锁的网站。在这篇博客文章中,我们将讲解代理服务器的API基本使用流程和思路,以及代…...
FO-like Transformation in QROM Oracle Cloning
参考文献: [RS91] Rackoff C, Simon D R. Non-interactive zero-knowledge proof of knowledge and chosen ciphertext attack[C]//Annual international cryptology conference. Berlin, Heidelberg: Springer Berlin Heidelberg, 1991: 433-444.[BR93] Bellare M…...
Redis - 多数据源切换
问题描述 最近遇到一个 Redis 多数据源切换问题,不过我这个没有那么动态切换需求,所以就写了一种比较硬编码的方式来做『切换』 其实大概的场景是这样的:不同的开发环境调用 db0、生产环境调用 db1,但是因为业务原因,…...
采集工具-免费采集器下载
在当今信息时代,互联网已成为人们获取信息的主要渠道之一。对于研究者和开发者来说,如何快速准确地采集整个网站数据是至关重要的一环。以下将从九个方面详细探讨这一问题。 确定采集目标 在着手采集之前,明确目标至关重要。这有助于确定采集…...
使用MD5当做文件的唯一标识,这样安全么?
使用MD5作为文件唯一标识符可靠么? 文章目录 使用MD5作为文件唯一标识符可靠么?什么是MD5?MD5的用途MD5作为文件唯一标识的优劣优势劣势 使用MD5作为文件唯一标识的建议其他文件标识算法结束语 什么是MD5? MD5(Messag…...
【算法通关村】链表基础经典问题解析
【算法通关村】链表基础&经典问题解析 一.什么是链表 链表是一种通过指针将多个节点串联在一起的线性结构,每一个节点(结点)都由两部分组成,一个是数据域(用来存储数据),一个是指针域&…...
【华为OD题库-056】矩阵元素的边界值-java
题目 给定一个N * M矩阵,请先找出M个该矩阵中每列元素的最大值,然后输出这M个值中的最小值 补充说明: N和M的取值范围均为: [0,100] 示例1: 输入: [[1,2],[3,4]] 输出: 3 说明: 第一列元素为:1和3,最大值为3 第二列元素为: 2和4,最…...
zabbix_sender——向zabbix交互的sdk
zabbix给我们提供了win32的交互方法。地址为src\zabbix_sender\win32\zabbix_sender.c zabbix_sender_send_values 函数声明为: int zabbix_sender_send_values(const char *address, unsigned short port, const char *source,const zabbix_sender_value_t *values...
JDBC概述(什么是JDBC?JDBC的原理、Mysql和Sql Server入门JDBC操作)
Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍JDBC概述(什么是JDBC?JDBC的原理、Mysql和Sql Server入门JDBC操作)简单知识以及部分理论知识 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 &am…...
利用快马平台快速构建node.js express api原型,十分钟搭建可运行后端服务
今天想和大家分享一个快速搭建Node.js后端服务的实践心得。作为一个经常需要验证想法的开发者,我发现用InsCode(快马)平台可以省去很多环境配置的麻烦,特别适合做原型开发。 为什么选择Node.jsExpress组合 Express框架是Node.js生态中最轻量灵活的Web框架…...
低空经济落地第一站:工业无人机巡检的格局重构、技术革命与黄金增长期
在海拔4500米的青藏高原特高压输电线路上,一架全自主工业无人机沿着预设航线平稳飞行,以厘米级精度悬停在绝缘子旁,红外热成像镜头精准捕捉到导线的微小发热点,端侧AI大模型实时完成缺陷识别与风险分级,数据同步回传至…...
Halcon轮廓拟合与排序:从基础算子到工业检测实战
1. Halcon轮廓处理技术概览 在工业视觉检测领域,轮廓处理技术扮演着至关重要的角色。想象一下,你站在一条自动化产线旁,传送带上快速移动着各种形状的金属零件。这些零件可能摆放得杂乱无章,表面可能有划痕或油污,但生…...
【HALCON】test_subset_region算子实战:从原理到工业质检的精准区域嵌套检测
1. test_subset_region算子的核心原理与工业价值 在工业质检场景中,判断一个区域是否完全包含在另一个区域内,就像检查螺丝是否准确拧进了螺孔。HALCON的test_subset_region算子就是专门解决这类问题的"智能卡尺"。它的底层逻辑其实非常直观—…...
Spring Boot 3.x面试全攻略:自动配置+事务+AOT,2026最新考点
文章目录一、开场:Spring Boot面试,你真的准备好了吗?二、自动配置:从"黑魔法"到"透明厨房"2.1 面试第一问:自动配置到底咋实现的?2.2 3.5版本新考点:TaskExecutor名称变更…...
Hermes邮件生成器详解:如何配置产品信息和自定义主题
Hermes邮件生成器详解:如何配置产品信息和自定义主题 【免费下载链接】hermes Golang package that generates clean, responsive HTML e-mails for sending transactional mail 项目地址: https://gitcode.com/gh_mirrors/he/hermes Hermes是一款强大的Go语…...
如何用3步解锁百度网盘SVIP特权:macOS逆向工程的实践指南
如何用3步解锁百度网盘SVIP特权:macOS逆向工程的实践指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 你是否曾在macOS上使用百度网盘下…...
python的模块和包
模块:1:在python里一个.py文件就是一个模块(module)2:模块可以包含:变量,函数,方法等许多内容3:通常把能够实现特定功能的代码,集中放在一个模块里4:模块可以…...
HTML 开发 - HTML 描述列表标签(<dl>、<dt>、<dd>)
HTML 描述列表标签 1、基本介绍在 HTML 中,<dl>、<dt>、<dd> 标签用于创建描述列表(Description List)描述列表是一种专门用于展示 术语 - 描述 或 名称 - 值 对结构的语义化标签标签说明<dl>Description List&#…...
源码级解耦:企业级 AI 视频平台的微服务架构设计与二次开发实战
引言:定制化需求的“最后一公里”难题 在安防 AI 项目的交付链条中,集成商和技术团队往往处于一个尴尬的境地:市面上的成熟 SaaS 平台虽然开箱即用,但缺乏核心的源码级定制能力,一旦遇到客户特殊的业务逻辑(…...
