1. Two Sum两数之和(Easy,LeetCode)

嵌入式 ARM 汇编编程例题(二维数组按规律求和,求两数 gcd / lcm,求数组 min / max,字符串复制,排序) 期末上机考试,只能用纯 ARM 汇编…不能调用C语言 阅读详情

Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.

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

You may assume that each input would have exactly one solution, and you may not use the same element twice.

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

You can return the answer in any order.

你可以按任意顺序返回答案。

Example 1:

示例 1:

Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

Example 2:

示例 2:

Input: nums = [3,2,4], target = 6
Output: [1,2]

Example 3:

示例 3:

Input: nums = [3,3], target = 6
Output: [0,1]

Constraints:

  • 2 <= nums.length <= 104
  • -109 <= nums[i] <= 109
  • -109 <= target <= 109
  • Only one valid answer exists.

提示:

  • 2 <= nums.length <= 104
  • -109 <= nums[i] <= 109
  • -109 <= target <= 109
  • 只会存在一个有效答案

Follow-up: Can you come up with an algorithm that is less than O(n^{^{2}}) time complexity?

进阶:你可以想出一个时间复杂度小于 O(n2) 的算法吗?

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

C#

public class Solution {
    public int[] TwoSum(int[] nums, int target) {
        for(int i=0;i<nums.Length-1;i++)
        {
            for(int j=i+1;j<nums.Length;j++)
            {
                if(nums[i]+nums[j]==target)
                {
                    return new int[] {i,j};
                }                    
            }
        }
        return new int[] {0,0};
    }
}

执行结果:通过

执行用时:200 ms, 在所有 C# 提交中击败了9.54%的用户

内存消耗:43.1 MB, 在所有 C# 提交中击败了58.42%的用户

通过测试用例:57 / 57

我的C语言答案:(未做pfqw)

//
//  main.c
//  TwoSum
//
//  Created by douxiaobo on 2022/1/23.
//

#include <stdio.h>

int num[104];
int target;
int length;
int a,b;

int input(){
    length=0;
    int temp;
    printf("num=");
    do{
        scanf("%d",&temp);
        num[length]=temp;
        length++;
        if(temp==110)
            break;
    }while(length>=2&&length<=104);
    printf("Target:");
    do{
        scanf("%d",&target);
        if(target>=-109&&target<=109)
            break;
    }while(1);
    return 0;
}
int  TwoSum(){
    int i,j;
    for(i=0;i++;i<length-1){
        for(j=i+1;j++;j<length){
            if(target==(num[i]+num[j])){
                a=num[i];
                b=num[j];
            }else{
                a=110;b=110;
            }
        }
    }
    return 0;
}
int output(){
    if(a==110&&b==110){
        printf("No\n");
    }else{
        printf("%d %d\n",a,b);
    }
    return 0;
}
int main(int argc, const char * argv[]) {
    // insert code here...
    input();
    TwoSum();
    output();
    return 0;
}

我的Go语言的答案:

package main

import (
	"fmt"
)

const Num_Length_Min = 2
const Num_Length_Max = 104
const Min = -109
const Max = 109

var Num = make([]int, 104)
var Target int
var Nums int = 0
var a, b int

func Num_Length(length int) bool {
	if length < Min {
		return false
	} else if length > Max {
		return false
	} else {
		return true
	}
}

func Input() {
	var temp int
	fmt.Println("Please input your nums(-109<=num<=109):")
	for {
		fmt.Scanln(&temp)
		if (temp == 1111) && (Nums >= 2) {
			fmt.Println("Thanks for finishing input nums!")
			break
		} else if Num_Length(temp) == false {
			fmt.Println("Sorry,Please input your num(-109<=num<=109) again:")
		} else {
			Num[Nums] = temp
			fmt.Println("Thanks, please input your nums(-109<=num<=109) again:")
			Nums++
		}
	}
	fmt.Println("Please input the Target(-109<=target<=109):")
	for {
		fmt.Scanln(&Target)
		if (Target < Min) && (Target > Max) {
			fmt.Println("Plaege input the Taget again:")
		} else {
			break
		}
	}

}
func TwoSum() {
	for i := 0; i <= Nums-1; i++ {
		for j := i + 1; j <= Nums; j++ {
			if (Num[i] + Num[j]) == Target {
				a = Num[i]
				b = Num[j]
				break
			}
		}
	}

}
func Output() {
	fmt.Printf("OutPut:%d and %d\n", a, b)
}

func main() {
	Input()
	TwoSum()
	Output()
}

1. Two Sum [easy] (Python) 题目链接https://leetcode.com/problems/two-sum/题目原文 Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have e 阅读详情

相关推荐

C++哈希表的原理和使用

目录1、概念2、散列表的构造方法2.1、直接定址法 1、概念 散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,每个关键字key对应一个存储位置f(key),查找时,根据这个对应的关系找到给定值key的映射f(key),若查找集合中存在这个记录,则必定在f(key)的位置上。我们把这种对应关系f称为散列函数,又称为哈希(Hash)函数。采用散列技术将记录存储在一块存储空间中,这块连续空间称为散列表或哈希表(Hash-Table)。 2、散列表的构造方法 2.1、直接定址法 直接定址法使用下

qq_33287871的博客 5294

信息学奥赛一本通 1239:统计数字(evd)

【题目描述】 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5×109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。 【输入】 第一行是整数n,表示自然数的个数; 第2 n+1每行一个自然数。 【输出】 包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。 【输入样例】 8 2 4 2 4 5 100 2 100 【输出样例

everwide的博客 1244

全国青少年电子信息智能创新大赛(决赛)python·模拟三卷,含答案解析

(2)如果 n>k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作。a 和 b 是两个列表变量,列表 a 为[3,6,9]已给定,键盘输入列表 b,将 a 列表。现有 n 个人依次围成一圈玩游戏,从第 1 个人开始报数,数到第 m 个人出局,然。设 n 个人的编号分别为 1,2,...,n,打印出局的顺序。(3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。后从出局的下一个人开始报数,数到第 m 个人又出局,...,如此反复到只剩下。

IT_Scratch的博客 2266

信息学奥赛一本通 1847:【07NOIP提高组】统计数字 | OpenJudge NOI 2.4 7909 | 洛谷 P1097 [NOIP2007 提高组] 统计数字

个,可以使用map保存键值对:键为数字,值为该数字的个数。输出时遍历map输出,即可以按照键(数字)从小到大遍历输出。如果数字范围很小,用散列思想,设数组ct,ct[i]表示数字i出现的次数,遍历并计数即可。的计数数组对所有数字计数,输出时从小到大遍历离散化后的数字,通过离散化后的数字可以取到原数字,并输出个数。先用快排对所有数字排序,而后遍历整个数组,统计每种数字出现的个数并输出。,超出了题目给定的内存限制,所以不可行。对所有数字离散化,已知不相同的数字不超过。个,因此离散化后的数字范围为。

君义NOIP的博客 4565

MuJoCo柔性体仿真实战:从FlexComp建模到自定义模型导入

柔性体仿真是机器人交互研究中不可或缺的一环,MuJoCo作为高精度物理求解器,凭借高效的求解速度与批量并行能力,成为强化学习与软体抓取任务的热门选择。其FlexComp机制将连续材料离散为粒子-约束系统,以较低建模成本模拟布料、软组织等形变行为,相比Gazebo等平台更具实时性与可扩展性。技术价值体现在自定义柔性体建模与导入流程中:通过XML配置网格密度、间距与材料参数,即可生成贴合任务需求的软体垫子或硅胶抓手。在柔性抓取、颗粒抓手、医疗仿真等场景中,该方法能快速构建可训练的环境。围绕环境搭建、FlexCo

weixin_29045585的博客 159

高速接口电平标准互连设计:LVPECL、PECL与LVDS的实战解析

本文深入解析了LVPECL、PECL与LVDS三种高速接口电平标准的互连设计实战。针对信号共模电压、阻抗匹配等核心差异,详细对比了直流耦合与交流耦合两种主流方案,并提供了电阻网络计算、布局布线要点及光模块等特殊场景下的选型建议,帮助工程师解决高速信号间的“翻译”难题,确保信号完整性。

weixin_29198045的博客 537

1. Two Sum 两数之和

题目:Two Sum 两数之和 难度:Easy 简单 Given an array of integers, returnindicesof the two numbers such that they add up to a specific target. You may assume that each input would haveexactlyone solution, ...

qq_21963133的博客 201

S32DS3.5图形化配置实战:从零构建S32K144通信接口工程

本文详细介绍了如何使用S32DS3.5图形化配置工具从零构建S32K144通信接口工程。通过实战演示引脚配置、时钟树设置、SPI接口搭建等关键步骤,帮助开发者快速掌握NXP S32K系列开发技巧,提升嵌入式开发效率。特别针对S32DS3.5版本的新特性进行了深度解析,包括智能代码生成和调试优化方法。

weixin_26834815的博客 200

leetcode 1-100 easy难度题目汇总

主要是考虑到easy题目没什么好分析的, 故统一总结在一篇文章里. 留作记录. 收录leetcode1文章目录1. Two Sum (Easy)7. Reverse Integer (Easy)9. Palindrome Number (Easy)13. Roman to Integer (Easy)14. Longest Common Prefix (Easy)20. Valid Parenth...

Bean771606540的博客 1516

电竞护航系统成品搭建俱乐部点单小程序开发三角洲小程序搭建

电竞护航系统成品搭建俱乐部点单小程序开发三角洲小程序搭建

dapengglove的博客 1682

虚拟机器人平台CoppeliaSim(Vrep)的逆运动学教学

相信看这篇博客的人都知道CoppeliaSim是做什么的,因此这里不多赘述。CoppeliaSim从最早的Vrep到现在已经更新了N个版本,从过去Vrep3.x开始使用的我这里小小地吐槽一下这个软件。CoppeliaSim每一个版本都有更新,问题是这些更新有时候不能向前兼容,而且时不时更新地让人不知所措(对于有紧急任务的时候真的很火大啊)。 以本文所展示地逆运动学来说,CoppeliaSim在4.0.0之后又大变,推翻了过往所有的拖动模块链接之类的构建方式,转而采用直接通过代码来实现逆运动学。 简单版逆运动

qq_39243015的博客 6699

LeetCode长征系列-1Two Sum两数之和

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

B君的军火库 236

Mplus实战:三变量随机截距交叉滞后模型(RI-CLPM)语法详解与扩展

本文详细解析了Mplus中三变量随机截距交叉滞后模型(RI-CLPM)的构建原理与语法实现。通过将变量分解为稳定的个体间差异与动态的个体内波动,模型能更纯净地揭示多变量间的纵向交互影响。文章以工作压力、睡眠质量与工作满意度为例,提供了完整的语法模板、关键参数设置(如NOCOV命令、残差相关)及结果解读指南,帮助研究者避开常见误区,稳健分析复杂动态关系。

wdx0123456的博客 926

两数之和(two sum)lc01

leetcode题目链接 两数之和 作为leetcode的第一号题目,easy的难度等级,我自以为已经完全搞懂了这道题目。而最近重新研究这个题目,发现自己并没有完全搞懂这道题的精髓之处,遂写篇博文重新理清自己的思路,便于后续的复盘。 (我认为这道题,完全可以定为mid的难度等级) 题目分析 首先我先来分析题目给出的条件 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元

qq_36996785的博客 215

华为 S2600T 存储 3 种网络端口(H4/H5/串口)用途解析与故障恢复实战

本文深度解析华为S2600T存储设备的三种关键网络端口(H4/H5/串口)的功能用途与故障恢复方法。通过详细的配置指南和实战案例,帮助管理员掌握管理接口(H4)的日常运维、维护接口(H5)的高级应用以及串口的应急操作,提升存储设备的可靠性和维护效率。

weixin_30899023的博客 336

40、5G NR射频要求解析

本文详细解析了5G NR射频相关要求,包括参考灵敏度与动态范围的定义、接收机对干扰信号的抗扰性要求(如阻塞、邻道选择性等)、辐射射频要求在FR1和FR2频段的差异,以及多标准无线电基站(MSR)的发展及其对射频要求的影响。内容涵盖测试模型、干扰场景、具体指标和实现挑战,为理解和应用5G NR射频规范提供了全面指导。

qsc901234的博客 245

LeetCode | 1. Two Sum 两数之和

本文是对LeetCode题库中的TwoSum算法题的记录,包括Python和C#两种实现。对Python的函数注解Function Annotations、Map函数、Enumerate函数和C#的Dictionary也有一些介绍。

puran1218的博客 587

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

LeetCode算法-1.Two Sum [easy]

Question: Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use ...

小卜妞的博客 237

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

64 两数之和(Two Sum)

文章目录1 题目2 解决方案2.1 思路2.3 时间复杂度2.4 空间复杂度3 源码3.1 排序 + 对向双指针法3.2 哈希表法 1 题目 题目:两数之和(Two Sum) 描述:给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 0 到 n-1。可以假设只有一组答案。 lintcode题号——56,难度——easy 样例1: 输入: numbers = [2,7,11,15]

SeeDoubleU的专栏 554

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LeetCode 第 1 号问题:两数之和

本文首发于公众号「五分钟学算法」,是图解 LeetCode 系列文章之一。 个人网站:https://www.cxyxiaowu.com 题目来源于 LeetCode 上第 1 号问题:两数之和。题目难度为 Easy,目前通过率为 45.8% 。 题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那...

程序员吴师兄的博客 236

【leetcode easy】twosum_两数之和_1

开始刷leetcode了,算法小渣渣只先从简单地刷起。leetcode到目前为止共有944道。因为基础比较薄弱,打算在easy阶段,每天至少刷3道题,三个月完成~ 第一道题就是十分经典的两数之和的题,虽然代码量很少,但是需要注意的点还是有很多的。 Given an array of integers, returnindicesof the two numbers suc...

dengyizhi7687的专栏 159

【LeetCode with JavaScript】1.Two Sum

原题网址:https://leetcode.com/problems/two-sum/ 难度:Easy 题目 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 Example: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 ...

zwkkkk1的博客 1024

[LeetCode] 1.两数之和(Easy)C语言题解

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

wjy的博客 485

LeetCode From Easy To Hard No1[Easy]: Two Sum

Description: Given an array of integers, returnindicesof the two numbers such that they add up to a specific target. You may assume that each input would haveexactlyone solution, and you may no...

我属码的博客 190

Leetcode 1.Two Sum

Leetcode 1.Two Sum 一、题目描述 这是 Leetcode 上面的第一题,非常的经典,在面试中也十分常见。 难度:easy 标签:数组 哈希表 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = ...

roseduan 的个人博客 452

Leetcode #1 Two Sum

LEETCODE #1 Two Sum 问题描述 Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and y...

weixin_42543882的博客 222
上一篇: Go语言的使用结构体、指针和方法
下一篇: Go语言的创建方法
DXB2021
博客等级 码龄5年 307粉丝 289原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值