LeetCode1:两数之和 (C、C++、python实现)

LeetCode 两数之和C语言源码 //给定一个整数数组和一个目标值,找出数组中和为目标值的两个数 //你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用 //示例: //给定 nums = [2, 7, 11, 15], target = 9 //因为 nums[0] + nums[1] = 2 + 7 = 9 //所以返回 [0, 1] 立即下载

leetcode1

https://leetcode-cn.com/problems/two-sum/

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

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

算法

采用hash_map
时间复杂度 O(n)、空间复杂度O(n)

进行迭代并将元素插入到表中的同时,我们还会回过头来检查表中是否已经存在当前元素所对应的目标元素。如果它存在,那我们已经找到了对应解,并立即将其返回

C++

采用STL库中map实现
map创建: map<int,int> numsMap; (第二个为坐标)
map插入: numsMap.insert(make_pair(nums[i], i));
map查找: map<int,int>::iterator it = numsMap.find(target_2);
     //取第二个元素为坐标it->second
     //查找不到时: it == numsMap.end()
vector创建: ector vecnum = {3,3};

#include <iostream>
#include <vector>
#include <map>

using namespace std;
vector<int> twoSum(vector<int>& nums, int target);

int main(int argc, const char * argv[]) {
    // insert code here...
    vector<int> vecnum = {3,3};
    int target = 6;
    twoSum(vecnum, target);
    return 0;
}
vector<int> twoSum(std::vector<int>& nums, int target) {
    map<int,int> numsMap;
    map<int,int>::iterator it;
    vector<int> result;
    for(int i=0;i<nums.size();i++){
        int target_2 = target - nums[i];
        it = numsMap.find(target_2);
        if(it != numsMap.end()){
            result = {it->second,i};
            cout << it->second<<i;
        }
        numsMap.insert(make_pair(nums[i], i));
    }
    return result;
}

C

python

def twoSum( nums, target):
    map = {}
    for index,num in enumerate(nums):
        target2 = target - nums[index];
        if target2 in map:
            return [map[target2],index];
        map[num] = index
    return   None

if __name__ == "__main__":
    res = twoSum(nums=[3,3],target=6)
    print(res)
Cursor 团队代码规范与开发规则 本文提出了一套 Cursor 项目开发规范,涵盖代码结构、命名、日志、测试等关键环节,旨在提升代码质量和团队协作效率。核心规则包括:文件不超过2000行、函数不超过80行;变量命名禁用无意义单词;日志只记录关键信息;配置项禁止硬编码;依赖和敏感信息统一管理;核心逻辑测试覆盖率≥80%;Git提交遵循Conventional Commits规范。通过一个车辆数据处理函数的改造案例,展示了从"不规范"到"规范"的代码优化过程,体现了拆分函数、常量管理、错误处理等规范的实际 阅读详情

相关推荐

GB28181协议心跳机制:从标准解读到代码实现的保活策略

本文深入解析GB28181协议中的心跳机制,从标准解读到代码实现,详细介绍了保活策略的核心价值和底层逻辑。通过实战案例和技术要点,帮助开发者优化心跳间隔、超时次数等参数配置,提升安防监控系统的可靠性和性能。文章还提供了代码实现的防坑指南和特殊场景处理建议,适用于各类网络环境下的设备在线状态管理。

weixin_29611239的博客 105

LeetCode 1.两数之和 Two Sum (C语言)

题目描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的两个整数。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 解: 方法1:暴力解法 两层for循...

hang404的博客 1万+

CCS20实战入门:第一个工程搭建示例

通过实际操作演示如何在ccs20中创建并配置首个开发项目,涵盖环境设置与基础调试步骤,帮助新手快速上手ccs20集成开发环境,提升嵌入式开发效率。

weixin_31185473的博客 884

Leetcode1两数之和(C语言版)

Leetcode1两数之和(C语言版) 代码块

weixin_43176384的博客 3664

Android7以上抓取https数据包-无需root

手机内装一个虚拟机,然后在虚拟机内运行我需要抓包的应用,该虚拟机内是不需要证书验证的。完美解决android7.0以上https无法抓包的问题。

qq_45764684的博客 1454

hcaptcha逆向实战:从API解析到参数构造的完整链路

本文详细拆解了hcaptcha验证码的逆向实战流程,从环境准备、捕获API与版本号,到解析核心加密逻辑hsw.js,再到构造getcaptcha请求参数,最后完成验证提交。文章重点剖析了motionData、n、c等关键参数的获取与构造方法,为开发者模拟浏览器行为、实现自动化验证提供了清晰的完整链路指南。

ik678901的博客 629

LeetCode-1-两数之和-C语言

构造一个哈希表,依次遍历每个元素,遍历当前元素时,查找已存在的哈希表,目的值target-nums[i],如果找到,则直接返回当前和target-nums[i]对应的index即可。 #define LEN 1000 typedef struct hash_node{ int val; int i; struct hash_node *next; } Node; in...

SFFS 1093

Oracle EBS R12.2.X JSP部署、编译和配置相关操作。

系统环境 RDBMS : 12.1.0.2.0 Oracle Applications : 12.2.6 背景 在某项目上,需要开发JSP相关程序,比如单点登陆、打印二维条码。当前把JSP部署编译以后,访问提示错误:Requested resource or page is not allowed in this site, 通过查SR发现Oracle EBS R12.2.X版本对客制化JSP进行权限控限,需要设置某些配置文件。 实例操作步骤 上传JSP文件 通常上传到$OA_HTML目录或其子目

陈显平的专栏-Oracle EBS 1911

leetcode 1:two sum(C语言)

int* twoSum(int* nums, int numsSize, int target) {     int i=0,j=0;     int*res = NULL;     res = malloc(2*sizeof(int));     res[0]= res[1]= 0;     for(i=0;i         for(j=i+1;j             if(

jbddygb的博客 2233

【数据集实例】CMIP6气候模式数据下载-以河东地区为例

以河东地区为例,介绍CMIP6数据下载及处理

WW、forever的博客 4942

Exploring Automated Distractor Generation for Math Multiple-choice Questions via Large Language Mode

多项选择题(MCQ)在几乎所有级别的教育中都无处不在,因为它们易于管理、评分,并且是评估和实践中可靠的格式。MCQ最重要的方面之一是干扰因素,即旨在针对真实学生常见错误或误解的不正确选项。迄今为止,对于教师和学习内容设计师来说,制作高质量的干扰物的任务在很大程度上仍然是一个劳动和时间密集型的过程,其可扩展性有限。在这项工作中,我们研究了数学MCQ领域的自动干扰物生成任务,并探索了从上下文学习到微调的各种基于大型语言模型(LLM)的方法。

c_cpp_csharp的专栏 317

Leetcode算法题(C语言)1

题目描述:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] /** * Note: The returned array must be mall...

absinjun的博客 3221

Autosar诊断实战系列07-Dcm之0x19 06扩展数据配置及工程问题讨论

19 06扩展数据如何配置?如果某DTC没有出现过故障扩展数据该如何响应?

initiallizer的博客 1704

LeetCode 1 — Two Sum(C++ Java Python)

题目: Given an array of integers, find two numbers such that they add up to a specific target number. The function twoSum should return indices of the two numbers such that they add up to the target,

龙之梦 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Leetcode1 两数之和 C++,Java,Python

Leetcode1 两数之和 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/two-sum/ 博主Github:https://github.com/GDUT-Rp/LeetCode 题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会...

Rp的博客 237

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

LeetCode - 1 两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。输入:nums = [3,3], target = 6。你可以按任意顺序返回答案。

优快云 1915

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

LeetCode 1. 两数之和(哈希)

题目链接:https://leetcode-cn.com/problems/two-sum/ 1. 暴力解法 class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { int i,j; vector<int&gt...

Michael是个半路程序员 1万+

Leetcode 两数之和 解题思路以及C++、java、python实现

1.两数之和(双指针思想) 题目描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 Leetcode官网两数之和 解题思路:建立键值对map:key为补数:target-nums[i],value为nums的下标 i 。即为 key=vlaue:target-nums[i]=i。然后遍历nums数组,如果nums[i] 已在map中的key中,

Thanours的博客 377

leetcode之 两数之和 题目解答C/python

题目描述 链接:https://leetcode-cn.com/problems/two-sum 给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 解答 C语言: ...

qq_33163046的博客 1万+

力扣 1 两数之和 C python

力扣 1 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 暴...

qq_40519283的博客 427

python 两数之和_力扣 1 两数之和 C python

力扣 1 两数之和有理解不对的地方欢迎指正。给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [...

weixin_33365214的博客 216

LEETCODE的第一题——两数之和(哈希表)

本文主要用于记录刷力扣的题解,,因为自己算法太菜,所以想通过深度学习力扣的每一道题目的原理来提高自己。下面内容为自己学习时的记录,如有错误,欢迎指正🍭。

everything is possible,anything is OK. 1313

【PythonCode】力扣Leetcode1~5题Python版

LeetCode1-5

weixin_43790276的博客 1806

LeetCode 1.两数之和【力扣——C/C++/Python三种编程语言题解】

LeetCode刷题篇,按照LeetCode专项突破的顺序进行,每道题通过C、C++、Python三种编程语言来解答。

仅以此博客记录日常学习工作中所思所得,水平有限,难登大雅,万望海涵。 817

【LeetCode 题解】两数之和(C++/Python 双解法):从语法到算法的全面解析

必须加分号的情况场景示例代码说明语句末尾int a = 10;每个完整语句结束后必须加分号单行控制流语句if (a>0) cout << "正数";单行if/while语句末尾加分号类成员声明void f();成员变量和函数声明后加分号枚举/联合体定义定义末尾必须加分号// 成员函数} // ❌ 错误:缺少分号修正:在类定义结束的后添加分号:class Solution {// 成员函数// ✅ 正确方法时间复杂度空间复杂度适用场景暴力枚举O(n²)O(1)n很小的情况。

weixin_47868976的博客 1099

Leetcode2 两数相加 C++,Java,Python

Leetcode2 两数相加 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/add-two-numbers/ 博主Github:https://github.com/GDUT-Rp/LeetCode 题目: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字...

Rp的博客 293
下一篇: C++ STL库总览
松鼠大哥
博客等级 码龄10年 57粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值