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

力扣——1.两数之和

题目

解法

1、暴力

初始

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {vector<int> ans={};int len=nums.size();for(int i=0;i<len;++i){for(int j=0;j<len;j++){if((nums[i]+nums[j])==target){ans[0]=i;ans[1]=j;return ans;}else{continue;}}}return ans;}
};

错误

修改后

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {vector<int> ans={};int len=nums.size();for(int i=0;i<len;++i){for(int j=i+1;j<len;j++){if((nums[i]+nums[j])==target){ans.push_back(i);ans.push_back(j);return ans;}}}return ans;}
};

2、哈希

思路

使用哈希表,遍历map表

查询标准值减去当前正在查的值的差在哈希表中是否存在,如果存在,说明这一对就是要找的值。直接返回即可

如果不存在,因为这是数组内的第i个值,所以哈希表的值就是i,索引是具体的值,如hashtable[nums[i]]=i;,里面的i是在查看nums数组内的第i个值

find——>ite->first—>键值;ite->second—>索引

例子

代码

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 {};}
};

http://www.xdnf.cn/news/9619.html

相关文章:

  • 【论文阅读】User Diverse Preference Modeling by Multimodal Attentive Metric Learning
  • 【笔记】修改abu量化本地部署数据文件夹目录
  • OpenCV CUDA模块直方图计算------用于在 GPU 上执行对比度受限的自适应直方图均衡类cv::cuda::CLAHE
  • Python 的 `next()`函数
  • 数字化回归本质:第一性原理驱动的制造业转型与AI+云PLM系统实践
  • LeetCode-数组技巧题目
  • 影刀RPA-20-高级操作题2
  • 后端思维之高并发处理方案
  • 使用LSTM对销售数据进行预测
  • 简乐 1.4.0 | 非常简洁 无损下载 畅听全网
  • 聊一聊 C# NativeAOT 多平台下的函数导出
  • Milvus向量Search查询综合案例实战(下)
  • Telnet 命令详解
  • 深度学习---注意力机制(Attention Mechanism)
  • docker 网络-用户定义网络
  • 【OCSA 2025】征稿通道已经开启​
  • 【连接器专题】 EIA-364 系列标准的完整列表
  • 加减数值策略
  • 【笔记】修复ImportError: cannot import name ‘Mapping‘ from ‘collections‘
  • DeepSpeed常见面试问题
  • PMO价值重构:从项目管理“交付机器”到“战略推手”
  • 消防应急装备管理:打造消防营区智能仓储
  • 36. 编写异步webdriver接口请求客户端
  • Vector - VT System - 板卡_VT板卡使用介绍_08
  • 【LangGraph】智能体工作流的新基石
  • uniapp小程序开发,判断跳转页面是否需要登录方法封装
  • 网站每天几点更新,更新频率是否影响网站收录
  • 【b站计算机拓荒者】【2025】微信小程序开发教程 - chapter3 项目实践 - 3人脸识别采集统计人脸检测语音识别
  • el-table配置表头固定而且高度变化
  • js-day4