LeetCode-Kotlin-Array-1-Two Sum

【信息科学与工程学】【数据科学】数据科学领域 第六篇 算法设计 07 堆、栈、表、矩阵、集合、队列、数组、字符串、树、图、动态规划、结构体、元组的算法01 当前段必须包含所有字符的最后出现位置。1. 字符串分割成最多片段2. 基因序列功能域划分3. 文本段落划分4. 音频声道分离5. 图像色彩分区6. 社交网络社群划分7. 蛋白质结构域8. 音乐乐章分段9. 代码模块划分10. 章节划分特征:一次扫描,贪心确定边界。 阅读详情

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 you may not use the same element twice.

Example:

Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1]

题目大意

在数组中找到 2 个数之和等于给定值的数字,结果返回 2 个数字在数组中的下标。

解题思路

这道题最优的做法时间复杂度是 O(n)。

顺序扫描数组,对每一个元素,在 map 中找能组合给定值的另一半数字,如果找到了,直接返回 2 个数字的下标即可。如果找不到,就把这个数字存入 map 中,等待扫到“另一半”数字的时候,再取出来返回结果。

代码

fun main() {
    var nums = intArrayOf(2, 7, 2, 15)
    var target = 9
    println(twoSum(nums, target).mapIndexed { index, value -> value })
}

fun twoSum(nums: IntArray, target: Int): IntArray {
    var result = mutableListOf<Int>()
    var mp= hashMapOf<Int,Int>()
    nums.forEachIndexed { index, value ->
        var middle=target-value
        if (mp.containsKey(middle)){
            result.add(mp[middle]!!)
            result.add( index)
        }else{
            mp[value] =index
        }
    }
    return result.toIntArray()
}
[0, 1]
两数之和:在该数组中找出和为目标值的那两个整数,并返回他们的数组下标 题目描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 嵌套for循环 public static void main(String[] args) { int[] nums = {2, 4, 7, 5}; int t 立即下载

相关推荐

2023电赛B题实战解析:基于立创天空星开发板的同轴线缆长度与负载测量系统

本文详细解析了2023年全国大学生电子设计竞赛B题的实战方案,重点介绍了基于立创EDA天空星开发板(STM32F103)的同轴线缆长度与负载测量系统。文章深入剖析了两种核心测量方案,并推荐了更稳定易实现的NE555测电容法,提供了从硬件选型、电路设计到软件编程、参数标定的完整“施工图”,实测精度可达厘米级和皮法级,为电赛复现与高精度测量学习提供了清晰指导。

weixin_36303305的博客 232

Leetcode Two Sum

题目 在数组中找到 2 个数之和等于给定值的数字,结果返回 2 个数字在数组中的下标。 Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1]. go 1 package main 2 3 import "fmt" 4 5 func main(...

左手代码右手诗 278

Xshell 连接 VMware虚拟机操作 截图和使用

vmwareVMware总部位于美国加州帕洛阿尔托(Palo Alto),是全球云基础架构和移动商务解决方案厂商,提供基于VMware的解决方案,企业通过数据中心改造和公有云整合业务,借助企业安全转型维系客户信任,实现任意云端和设备上运行、管理、连接及保护任意应用Xshell(安全终端模拟软件)Xshell [1]是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。

小 tom的博客 802

两数之和——返回下标

给你一个数组找出数组中两个数的和等于目标值,并返回两数的下标。 class sloution { public: vector<int >twosum(vector<int>& nums, int target) { for (int i = 0; i < nums.size(); i++) { for (int j = 0; j < nums.size(); j++) { if (nums[i] + nums[j] == ta

qq_63102689的博客 387

ARTIX-7 GTP 3G-SDI 工程构建与调试实战

本文详细介绍了基于ARTIX-7 FPGA和GTP收发器的3G-SDI工程构建与调试实战。从基础概念解析到Vivado工程创建、GTP IP核配置、SDI IP核集成,再到系统集成与时钟域处理,提供了全面的技术指导。文章还分享了调试技巧、常见问题排查方法以及性能验证步骤,帮助开发者快速掌握3G-SDI视频传输技术的实现与优化。

weixin_30443813的博客 256

从扇束到平行束:等角重排算法在CT重建中的核心原理与MATLAB实践

本文深入解析了CT图像重建中等角扇束重排算法的核心原理与MATLAB实现。通过将实际采集的扇束投影数据,利用几何映射和两次关键插值,转换为适用于经典滤波反投影算法的平行束数据,打通了高效重建的关键路径。文章结合Shepp-Logan模型仿真,提供了完整的MATLAB代码实践,并分析了源-物距、采样率等关键参数对重建质量的影响。

cnn8visionary的博客 647

有序数组中查找符合相加等于给定的数的两个值,并返回下标

给定一个已按照 非递减顺序排列的整数数组numbers ,请你从数组中找出两个数满足相加之和等于目标数target 。 函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。 你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 重复使用相同的元素。 示例: 输入:numbers = [2,7,11,15], ...

momo_zhang1002的博客 649

3D Slicer隐藏技巧:这样玩转医学影像分割与3D建模(含DICOM处理)

本文深入探讨3D Slicer在医学影像分割与3D建模中的高级应用技巧,包括多模态分割策略、三维可视化优化及DICOM数据处理。通过专业配置和Python脚本示例,帮助医疗AI开发者和影像科医师提升工作效率,实现精准的医学图像分析与建模。

weixin_28559803的博客 433

leetcode 1 - twoSum

给定一个整数数组,找到两个数字,使它们相加为特定的目标数字。 函数 twoSum 应该返回两个数字的索引,使它们相加为目标, 其中 index1 必须小于 index2。 请注意您返回的答案(index1 和 index2) 不是从零开始的。 您可以假设每个输入都只有一个解决方案。 输入:数字={2, 7, 11, 15},目标=9 输出:index1=1,index2=2 简单的解决方案是 O(n^2) 运行时复杂度。 foreach (item1 in array) { ..

虾球 190

【C2000系列DSP的Bootloader详解】如何利用脚本自动合并Bin文件

本文通过OutconvertBin.py实现了 C2000 Bootloader+UserApp 的「ELF 转 BIN+BIN 合并」全流程自动化,核心优势如下: 架构适配:严格遵循 C28x 16 位大端格式,生成的 BIN 文件可直接烧录; 自动化程度高:一键完成清理、转换、合并,无需手动执行多个命令; 可追溯性:生成 CRC32 校验值,便于验证文件完整性; 量产友好:合并后的merged.bin支持一次性烧录,提升量产效率。

昔时扬尘处 183

LearningToRank(LTR)排序算法LGBMRanker的原理和使用

1. 写在前面 在最近新闻推荐的比赛中, 接触到了一个排序模型LGBMRanker, 该模型与普通的分类模型LGBMClassifier不太一样, 普通的分类模型在进行推荐的时候, 往往是先预测某个商品或者文章用户会不会点击, 也就是它的目标是预测用户点击某篇文章或者某个商品的概率, 然后根据这个概率值进行排序, 排完之后,把最靠前的几个返回回来给用户进行推荐。 而LGBRanker模型, 它不关心用户点击某篇文章的概率, 而是根据用户点击或者不点击的这个行为, 直接去预测最后商品或者文章的一个相对顺序,

Miracle8070 1万+

两数之和:找出给定数组中和是给定目标整数的两个整数,输出找到的两个整数下标

找出给定数组中和是给定目标整数的两个整数,输出找到的两个整数下标。 (本文获得优快云质量评分【x】) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……   自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。             —— 华罗庚 My 优快云主页、My HOT博、My

m0_57158496的博客 1826

【系列05】端侧AI:构建与部署高效的本地化AI模型 第4章:模型量化(Quantization)

量化的基本思想是减少模型中用于表示参数和激活值的比特数。在模型训练时,参数通常使用32位浮点数(FP32)进行存储,这提供了高精度,但也消耗大量的内存和计算资源。量化则将这些32位浮点数转换成低比特数表示,通常是8位整数(INT8)。量化的原理可以概括为:对浮点数范围进行校准,并将其映射到更小的整数范围内。例如,将一个FP32的权重(如-1.5到1.5)映射到INT8的范围(-128到127)。在推理过程中,模型将使用这些低精度的整数进行计算,从而大大减少了所需的计算量。量化带来的主要收益减少模型大小。

学习,输出==》再学习再输出 1213

在数组中找到 2 个数之和等于给定值的数字,结果返回 2 个数字在数组中的下标

C语言在数组中找到 2 个数之和等于给定值的数字,结果返回 2 个数字在数组中的下标

weixin_56800714的博客 628

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Leetcode1: 两数之和

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 MyISAM在叶子节点中存储的是数据的索引,而InnoDB存储的是数据。 MyISAM可以将

gaozhuang63的博客 729

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

leetcode 两数之和:数组中两个数的和等于给定值,并返回下标

class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ dic={} for i ...

moshiyaofei的博客 924

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【LeeCode Go版】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 you may not use the same element twice. Example: Given nums = [2, 7, 11, 15],

码农印象 469

LeetCode每日一题: 1. 两数之和

微信公众号:Java随笔录 关注可了解更多Java相关的技术分享。问题或建议,欢迎公众号留言! 如果你觉得JiangNanMax对你有帮助,欢迎赞赏! 文章目录题目题目大意解题思路代码公众号赞赏 题目 https://leetcode-cn.com/problems/two-sum/ 给定一个整数数组 ums和一个整数目标值 target,请你在该数组中找出 和为目标值的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 你可以按任意顺序返.

JiangNanMax的博客 598

哈希表简单算法题:在数组中找到两个数,它们之和等于给定的数字。

这段时间为了校招找工作开始刷LeetCode,第一道题就是这道题: 两数之和:在数组中找到两个数,它们之和等于给定的数字。 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 乍一看很简单,两个循环暴力破解就行了。 class Solution { ...

LuckySevenTc的博客 1841

在一个数组中找出两个数,这两个数之和为指定目标值,返回这两个数下标(leecode)(c++)

本文主要总结在一个数组中取出两个数,这两个数满足条件为:两数之和为制定目标值target,并且函数返回这两个数下表。 示例: 给定 nums = [5,6,7,8,9,10], target = 19 因为 nums[4] + nums[5] = 9 + 10 = 19 所以返回 [4, 5] 1.1解题思路 根据题意,可以看出这是一个组合问题,也就是高中数学常见的排列组合基本问题。 ...

净无邪博客 6433

LeetCode算法c++刷题-twoSum

今日刷题: 在数组找到2个数之和等于给定值的数字,结果返回2个数字在数组中的下标。

u010196944的博客 605

程序员面试100题之十:快速寻找满足条件的两个数

能否快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值,为了简化起见,我们假设这个数组中肯定存在至少一组符合要求的解。 假如有如下的两个数组,如图所示: 5,6,1,4,7,9,8 给定Sum= 10 1,5,6,7,8,9 给定Sum= 10 分析与解法 这个题目不是很难,也很容易理解。但是要得出高效率的解法,还是需要一番思考的。 解法一 一个直...

yuanlanjun 1675

在排序数组中查找和为给定值的两个数字

题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。 bool FindTwoNumbersWithSum(int data[], unsigned int length, int sum, int &num1, int &num2) { bool found

nishiwodeangel的专栏 755

数组中两个数之和等于某个数字,返回这两个数的下标

leetcode刷题,大神之路开启。

chainiao_zhang的博客 2560

kotlin通用的invoke()函数

invoke()方法是kotlin对象类中默认持有的方法,可以通过operator关键字重载invoke()方法 enum class OperatorTest { TEST; operator fun invoke(data: String){ Log.d("LogUtils","data : $data") } } fun execute(){ val start = OperatorTest.TEST //原始调用方式 star

u010194271的博客 1万+
上一篇: Flutter-权限管理 permission_handler
下一篇: LeetCode-Kotlin-Array-EASY-1至10题
黄毛火烧雪下
黄毛火烧雪下 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
博客等级 码龄14年 7714粉丝 439原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄毛火烧雪下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值