未加星标

javascript实现leetcode之twosum javascript leetcode

字体大小 | |
[前端(javascript) 所属分类 前端(javascript) | 发布者 店小二03 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

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].

给定一个整数数组,寻找两个整数使它们的和等于target,并且返回它们的下标。

毕竟第一题,解题思路还是比较简单地,最简单的方法就是遍历两次数组去加吧阿西吧。

其实用js对象实现简单hashMap就可以在线性的时间里解决问题

/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function(nums, target) {
var len = nums.length;
var exist = {}
for(var i = 0; i < len; i++){
if (exist[target - nums[i]] !== undefined){
return [exist[target-nums[i]], i];
}
exist[nums[i]] = i
}
};
for循环每次执行的时候,以nums[i]的值为key,下标i为value存入exsit对象中。每次循环时会先去查找target-nums[i]有没有存在,如果存在,则返回i和值为target-nums[i]的下标,即exsit[target-nums[i]](exsit中存的key为数组中元素值,value为数组元素下标)

执行效率如下


javascript实现leetcode之twosum javascript leetcode

毕竟小菜鸡,连90%都没有进入,以后需要多多努(抄)力(袭)啊!

本文前端(javascript)相关术语:javascript是什么意思 javascript下载 javascript权威指南 javascript基础教程 javascript 正则表达式 javascript设计模式 javascript高级程序设计 精通javascript javascript教程

主题: 其实
分页:12
转载请注明
本文标题:javascript实现leetcode之twosum javascript leetcode
本站链接:http://www.codesec.net/view/534497.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 前端(javascript) | 评论(0) | 阅读(27)