LeetCode-Array-1. Two Sum
来源:互联网 发布:域名备案需要多少钱 编辑:程序博客网 时间:2024/05/01 14:19
问题:https://leetcode.com/problems/two-sum/
Given an array of integers, return indicesof the two numbers such that they add up to a specific target.You may assumethat each input would have exactly one solution.
Example:Given nums = [2, 7, 11, 15], target= 9,
Because nums[0] + nums[1] = 2 + 7 =9,return [0, 1].
给定一个数组和一个值,找数组中两个元素加起来和是这个值的索引。
思考1:用两个for循环,很容易解出问题,但是消耗时间长,O(n2)的复杂度。注意要用一个数组来放索引值。
代码1:
思考2:现在想用更小的时间复杂度解题,既然优化了时间复杂度,就要牺牲空间复杂度,是用stack?queue?vector?还是hash_map?对于stack和queue,除了pop外,查找的时间复杂度也是O(n),而hash_map最理想的情况下时间复杂度是O(1)。现将数组中所有的元素都存到hash_map中,一次循环,时间复杂度是O(n)。用一个<number, index>的map, 记录每个一字出现的位置。逐个去检查数字,看看他要凑成对的那个数字是不是已经存在了即可。map里直接存的是要去找的那个数。比如target=9, 现在在位置0遇到了2,那存一个map[9-2]=0,然后检查的时候就可以直接去keys里面找有没有7了。
代码2:
- 1.Two Sum leetcode(array)
- LeetCode-Array-1. Two Sum
- leetcode.array--1. Two Sum
- Leetcode - Pointers/Array - Two sum
- LeetCode刷题【Array】 Two Sum
- Array -- Leetcode problem1. Two Sum
- LeetCode(Array)---------Two Sum
- [LeetCode]1. Two Sum&167. Two Sum II - Input array is sorted
- LeetCode刷题【Array】 Two Sum II
- [Week 2] [Leetcode][Array] Two Sum
- LeetCode 1. Two Sum
- [LeetCode]1.Two Sum
- LeetCode 1.Two Sum
- LeetCode --- 1. Two Sum
- [Leetcode] 1. Two Sum
- leetcode---1.Two sum
- [Leetcode] 1. Two Sum
- LeetCode 1.Two Sum
- 34. Search for a Range--Array/LeetCode/C++
- STL实现简单的忽略大小写字 符串比较
- com.alibaba.druid.pool.vendor.MySqlValidConnectionChecker - Cannot resolve com.mysq.jdbc.Connection.
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
- 2016 icpc china final
- LeetCode-Array-1. Two Sum
- 解题报告:HDU 2196 Computer 简单树型DP
- HTML的学习
- ORACLE SEQUENCE(队列)用法
- NULL UNIQUE唯一约束
- 关于java中的泛型的总结篇
- svn解决冲突办法
- Spark on Yarn集群搭建详细过程
- jquery的一些自己常用的方法技巧