首页 > 其他分享 >哈希表简单应用—两数之和

哈希表简单应用—两数之和

时间:2023-05-17 09:00:48浏览次数:50  
标签:target nums 哈希 数组 hashtable 应用 两数

这是一个简单题,本质上直接暴力求解也可以了。但是主要记录下哈希表的应用。

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/two-sum

 

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        unordered_map<int, int> hashtable;
        for (int i = 0; i < nums.size(); ++i) {
            auto it = hashtable.find(target - nums[i]);
            if (it != hashtable.end()) {
                return {it->second, i};
            }
            hashtable[nums[i]] = i;
        }
        return {};
    }
};

 

unordered_map 容器底层采用的是哈希表存储结构,该结构本身不具有对数据的排序功能,所以此容器内部不会自行对存储的键值对进行排序

对于需要进行频繁查找和搜索的题目,使用哈希表会大大加快时间效率

标签:target,nums,哈希,数组,hashtable,应用,两数
From: https://www.cnblogs.com/Kellen-Gram/p/17407470.html

相关文章

  • 【Azure 应用服务】调用Azure REST API来获取 App Service的访问限制信息(Access Rest
    问题描述介绍了使用PythonSDK来获取AppService的访问限制信息,那么如何调用RESTAPI来实现呢? 问题解答如大家所知,Azure不管是SDK,门户UI,或者是PowerShell命令方式对Azure中资源进行操作,都是通过RESTAPI方式处理请求。所以,如果不知道当前操作使用的是一个接口时,最简单的方法是......
  • 7.ansible之playbook应用案例02
    1.Playbook应用案例之用户编写playbook创建系统账户、账户属性、设置密码[root@db04ansible]#cattest_john.yml----hosts:testtasks:-name:Addtheuser'johnd'user:name:johndgroup:1002password:"{{'123'|......
  • 用嵌入式sqlite部署winform应用程序
    EmbeddedResource表示数据库已嵌入到您的dll中。Copytooutputdirectory设置在这种情况下不适用,它用于BuildAction:Content嵌入数据库后,您基本上必须在首次使用时将其取消嵌入。为此,将其从Assembly中读取并将其存储到文件中。classEmbeddedResourceTest{publicsta......
  • Flutter 3.1亮点功能介绍,加持移动应用高效开发
    2023年的GoogleI/O大会上,简直能用“亮瞎了眼”来形容:非常多的技术大版本更新,尤其是AI领域技术融合到了办公协同软件中来,以进一步提高蓝领、白领的工作效率,为企业降本增效。Flutter3.10版本的变化1、Dart3众所周知,Flutter是建立在Dart语言基础上的,本次大会上,Dart发布了一......
  • 【Azure 应用服务】应用服务连接 Azure MySQL 一直失败,报错 Create connection error
    问题描述AppService上部署的Java应用,连接 AzureDatabaseforMySQL失败。错误信息:Createconnectionerror,url:jdbc:mysql://.......................communicationslinkfailure. 问题解答应用的错误信息提示为:与MySQL数据库建立连接失败。所以需要考虑如下几种......
  • 关于 Web 应用的 Prerender 策略
    对于一些小型Web应用程序而言,强制使用服务器渲染(Serversiderender)可能会成为一种障碍。这时,预渲染可能是一个非常好的替代选择。Prerender的一种解决方案是使用Preact及其自己的CLI.它允许您编译所有预先选择的路由,以便将完全填充的HTML文件存储到静态服务器上。这......
  • 使用 SAP Fiori Tools 提供的中间件导入本地下载的 SAP UI5 库文件来启动 SAP UI5 应
    本教程第100个步骤,笔者介绍了如何使用本地部署的SAPUI5库文件来运行SAPUI5应用的技巧:SAPUI5应用开发教程之一百-如何修改SAPUI5框架的源代码实现,以及使用本地部署的SAPUI5SDK我们简单回顾一下这种方法的实现步骤:从SAPUI5官网将我们想使用的SAPUI5SDK......
  • SpringBoot+Prometheus+Grafana实现应用程序可视化监控
    1、SpringBoot应用暴露监控指标maven依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupI......
  • ThottleStop 软件的应用场景
    ThrottleStop是一个小型应用程序,旨在监视并纠正许多笔记本电脑上正在使用的三种主要类型的CPU节流。ThrottleStop的左侧包含各种选项,可用于绕过CPU节流,右侧是一个监视面板,显示您CPU上每个线程的当前状态。有些笔记本电脑使用时钟调制和乘数降低来降低计算机的性能和功耗。这......
  • 使用 SAP Fiori Tools 自带的代理服务器解决本地运行的 SAP UI5 应用访问远端服务遇到
    我们部署在本地开发环境运行的SAPUI5应用,由于浏览器安全策略的限制,无法直接访问远端OData服务,原因是我们的SAPUI5应用本地运行在localhost这个域名上,而远端请求的OData服务的域名比如说services.odata.org,二者不是同一个域名,由于浏览器安全策略,浏览器拒绝这种跨域的......