代码随想录一刷——1.两数之和

当我们需要查询一个元素是否出现过,或者一个元素是否在集合里的时候,就要第一时间想到哈希法。
C++:
unordered_map
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target)
{
unordered_map<int,int> m;
for(int i = 0;i<nums.size();i++)
{
int s = target-nums[i];
auto iter = m.find(s);
if(iter!=m.end())
{
return {iter->second,i};
}
m.insert(pair<int,int>(nums[i],i));
}
return {};
}
};
Python:
字典
class Solution(object):
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
result = dict()
for index,value in enumerate(nums):
if target-value in result:
return [result[target-value],index]
result[value] = index
return []
集合
result = set()
for index,value in enumerate(nums):
if target-value in result:
return [nums.index(target-value),index]
result.add(value)
return []
C:
hashtable
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
typedef struct {
int key;
int value;
UT_hash_handle hh; // make this structure hashable
} map;
map* hashMap = NULL;
void hashMapAdd(int key, int value){
map* s;
// key already in the hash?
HASH_FIND_INT(hashMap, &key, s);
if(s == NULL){
s = (map*)malloc(sizeof(map));
s -> key = key;
HASH_ADD_INT(hashMap, key, s);
}
s -> value = value;
}
map* hashMapFind(int key){
map* s;
// *s: output pointer
HASH_FIND_INT(hashMap, &key, s);
return s;
}
void hashMapCleanup(){
map* cur, *tmp;
HASH_ITER(hh, hashMap, cur, tmp){
HASH_DEL(hashMap, cur);
free(cur);
}
}
int* twoSum(int* nums, int numsSize, int target, int* returnSize)
{
hashMap = NULL;
map* hashMapres;
int *ans;
ans = (int*)malloc(sizeof(int)*2);
for(int i=0;i<numsSize;i++)
{
hashMapAdd(nums[i],i);
}
for(int i=0;i<numsSize;i++)
{
hashMapres = hashMapFind(target-nums[i]);
if(hashMapres && hashMapres->value!=i)
{
ans[0] = i;
ans[1] = hashMapres->value;
*returnSize = 2;
return ans;
}
}
hashMapCleanup();
return NULL;
}
相关文章:
代码随想录一刷——1.两数之和
当我们需要查询一个元素是否出现过,或者一个元素是否在集合里的时候,就要第一时间想到哈希法。 C: unordered_map class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int…...
vue自定义组件实现v-model双向数据绑定
一、Vue2 实现自定义组件双向数据绑定 ① v-model 实现双向数据绑定 在vue2中,子组件上使用v-model的值默认绑定到子组件的props.value属性上,由于子组件不能改变父组件传来的属性,所以需要通过$emit触发事件使得父组件中数据的变化…...
excel指定单元格输入相同的值,比如给D1~D10000输入现在的值
注意,一点不用用WPS,不然运行宏是会报:Droiact-Module1,第1行等Λ列语法错误: Unexpected identifier 步骤 1,altF11打开宏 2,输入脚本 3,点击运行按钮 成功后会看看到...
中国最强乳企伊利,三个季度净赚超百亿
伊利三季度的业绩完全超出了市场预期。 在一个飞天茅台都在不断跌价的消费趋势里,伊利三季度扣非净利润的同比增幅达到13.4%。大部分机构和投资者,都没料到伊利这一次的表现如此强悍。这一次,伊利在“大气层”。 并且,伊利前三季…...
SpringBoot源码解析(二):启动流程之引导上下文DefaultBootstrapContext
SpringBoot源码系列文章 SpringBoot源码解析(一):启动流程之SpringApplication构造方法 SpringBoot源码解析(二):启动流程之引导上下文DefaultBootstrapContext 目录 前言一、入口二、DefaultBootstrapContext1、BootstrapRegistry接口2、BootstrapCon…...
配置elk插件安全访问elk前台页面
编辑els配置文件vim elasticsearch.yml,添加以下配置文件 用elk用户,启动els服务 关闭防火墙,查看els启动是否成功,通过是否启动java进程来判断 或者通过查看是否启动9200和9300端口来判断是否启动 交互模式启动密码配置文件interactive表示交…...
[操作系统作业]页面置换算法实现(C++)
💓博主csdn个人主页:小小unicorn ⏩专栏分类:linux 🚚代码仓库:小小unicorn的代码仓库🚚 🌹🌹🌹关注我带你学习编程知识 目录 必做题代码分析(重点以时间统计…...
前端技术月刊-2024.11
本月技术月刊聚焦于前端技术的最新发展和业务实践。业界资讯部分,React Native 0.76 版本发布,带来全新架构;Deno 2.0 和 Node.js 23 版本更新,推动 JavaScript 生态进步;Flutter 团队规模缩减,引发社区关注…...
搜索引擎语法大全(Google、bing、baidu)
搜索引擎语法大全 搜索引擎语法通常指的是在搜索引擎中使用特定的运算符和语法来优化搜索结果。 提高搜索精度:使用特定的语法可以帮助用户更精确地找到相关信息,避免无关结果。例如,通过使用引号搜索确切短语,可以确保搜索结果包…...
java设计模式之行为型模式(11种)
行为型模式 行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。 行为型模式分为类行为模式和对象型模式,前者采用继承机制来在类间分派…...
微服务系列一:基础拆分实践
目录 前言 一、认识微服务 1.1 单体架构 VS 微服务架构 1.2 微服务的集大成者:SpringCloud 1.3 微服务拆分原则 1.4 微服务拆分方式 二、微服务拆分入门步骤 :以拆分商品模块为例 三、服务注册订阅与远程调用:以拆分购物车为例 3.1 …...
leetcode 1470.重新排列数组
1.题目要求: 2.题目代码: class Solution { public:vector<int> shuffle(vector<int>& nums, int n) {vector<int> x_array(nums.begin(),nums.begin() n);vector<int> y_array(nums.begin() n,nums.end());int x_index 0;int y_index 0;for…...
windows在两台机器上测试 MySQL 集群实现实时备份
在两台机器上测试 MySQL 集群实现实时备份的基本步骤: 一、环境准备 机器配置 确保两台机器(假设为服务器 A 和服务器 B)能够互相通信,例如它们在同一个局域网内,并且开放了 MySQL 通信所需的端口(默认是 …...
点晴模切ERP系统助力模切企业转型升级之路
随着我国制造业规模不断扩大,中国制造业已经从高速扩张转向深入挖潜的关键阶段。数字化转型不仅有助于提升企业的生产效率和管理水平,还能有效应对市场竞争,实现可持续发展。在数字化转型的过程中,企业资源规划(ERP&am…...
redis修改配置文件配置密码开启远程访问后台运行
编辑 Redis 配置文件 编辑 /etc/redis/redis.conf,设置必要的参数。 sudo vim /etc/redis/redis.conf设置后台运行: 找到以下行,将 no 改为 yes: daemonize yes设置密码: 找到以下行,取消注释并设置密码为…...
市场分化!汽车零部件「变天」
全球汽车市场的动荡不安,还在持续。 本周,全球TOP20汽车零部件公司—安波福(Aptiv)发布2024年第三季度财报显示,三季度公司经调整后确认收入同比下降6%;按照区域市场来看,也几乎是清一色的下滑景…...
SCSS在Vue中的用法
SCSS在Vue中的用法 一、安装相关依赖1、安装sass - loader和node - sass(或dart - sass) 二、在组件中使用SCSS1、单文件组件(.vue)中的样式使用2、**全局样式使用SCSS**3、在组件中使用变量和混入(Mixins)…...
CPU用户时间百分比
在计算机系统中,"CPU用户时间百分比(CPU User Time)"是一个性能监控指标,它描述了CPU在用户模式下执行的累积时间与总的CPU时间的比例。这个指标可以帮助我们了解系统在执行用户态程序时的负载情况。下面是一些关于CPU用…...
RN中的StyleSheet
一、RN中样式的特点 RN的样式和前端的CSS的样式有一些区别。主要如下: RN中的样式 前端的CSS 继承性 没有继承性 有继承性 命名 fontSize(小驼峰命名) font-size 尺寸单位 with: 100 With: 100px 特殊的样式名 marginHorizontal…...
Swift 开发教程系列 - 第1章:Swift 简介与开发环境配置
在开始开发 Swift 应用之前,了解 Swift 语言的背景和设置开发环境非常重要。接下来,我们将逐步介绍 Swift 的基本概念,并带你完成开发环境的安装和项目创建。 1.1 Swift 简介 Swift 是由 Apple 开发的一种现代化编程语言,于 201…...
3个突破让你自由掌控数字阅读:fanqienovel-downloader全攻略
3个突破让你自由掌控数字阅读:fanqienovel-downloader全攻略 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 如何确保你钟爱的网络小说永不消失? 当你在通勤途中打…...
OpenClaw调试技巧:Qwen3.5-9B任务失败的回溯与日志分析
OpenClaw调试技巧:Qwen3.5-9B任务失败的回溯与日志分析 1. 为什么需要系统化的调试方法 上周我让OpenClaw帮我整理桌面上的100多份PDF文件,结果它把所有的会议纪要都归类到了"技术文档"文件夹。这个看似简单的任务背后,暴露了自动…...
Cursor Free VIP破解指南:智能绕过AI编程助手使用限制的完整方案
Cursor Free VIP破解指南:智能绕过AI编程助手使用限制的完整方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reache…...
网易云音乐美化插件全攻略:从核心价值到深度定制的个性化指南
网易云音乐美化插件全攻略:从核心价值到深度定制的个性化指南 【免费下载链接】refined-now-playing-netease 🎵 网易云音乐沉浸式播放界面、歌词动画 - BetterNCM 插件 项目地址: https://gitcode.com/gh_mirrors/re/refined-now-playing-netease …...
WeKnora知识库迁移方案:从其他系统平滑过渡
WeKnora知识库迁移方案:从其他系统平滑过渡 1. 引言 知识库迁移听起来可能很复杂,但其实就像搬家一样,只要提前规划好,整个过程可以很顺利。无论你之前用的是Confluence、MediaWiki还是其他知识管理系统,迁移到WeKno…...
Qwen3-14B私有化部署指南:基于RTX 4090D的GPU算力优化全流程
Qwen3-14B私有化部署指南:基于RTX 4090D的GPU算力优化全流程 1. 镜像概述与核心优势 Qwen3-14B是通义千问推出的大语言模型,具备强大的对话、推理和生成能力。本镜像针对RTX 4090D显卡进行了深度优化,解决了大模型私有化部署中的三大痛点&a…...
Z-Image Turbo在工业设计中的应用:产品概念图生成
Z-Image Turbo在工业设计中的应用:产品概念图生成 1. 引言 工业设计师的日常工作中,最耗时但又最关键的环节是什么?答案往往是概念图的创作和渲染。传统的工作流程中,设计师需要先手绘草图,然后在专业软件中建模、渲…...
Wallpaper Engine下载器革新:突破创意工坊壁纸获取瓶颈的高效解决方案
Wallpaper Engine下载器革新:突破创意工坊壁纸获取瓶颈的高效解决方案 【免费下载链接】Wallpaper_Engine 一个便捷的创意工坊下载器 项目地址: https://gitcode.com/gh_mirrors/wa/Wallpaper_Engine 你是否曾因Steam创意工坊复杂的下载流程而放弃心仪的动态…...
终极SyntaxHighlighter CDATA处理指南:如何实现完美的XML兼容性
终极SyntaxHighlighter CDATA处理指南:如何实现完美的XML兼容性 【免费下载链接】syntaxhighlighter SyntaxHighlighter is a fully functional self-contained code syntax highlighter developed in JavaScript. 项目地址: https://gitcode.com/gh_mirrors/sy/s…...
易语言网络验证系统源码(完整可编译版)|支持周/月/季/年/卡密生成
温馨提示:文末有联系方式产品概述 本套源码为基于易语言开发的高性能网络验证系统,功能完整、结构清晰,已通过实际编译测试,开箱即用。核心特性 系统采用客户端-服务端通信机制,支持远程在线验证,有效防止本…...
