Leecode Week1
来源:互联网 发布:网络暴利赚钱项目 编辑:程序博客网 时间:2024/05/07 09:51
Week1:Two Sum
1. 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 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. Solution
class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { map<int,int> b; for(int i = 0; i < nums.size(); i++) { b.insert(pair<int,int>(nums[i], i)); } for(int i = 0; i < nums.size(); i++) { int temp = target - nums[i]; if(b.count(temp) && b[temp] != i) { return vector<int>{i, b[temp]}; } } return vector<int>{}; }};
思路:利用map将数组元素和下标对应起来,然后用一个循环来得到每个元素所要匹配的值并在map中查找是否存在这个值,若存在就返回两个元素的下标,否则继续查找。这里利用map降低了搜索的复杂度,时间复杂度为O(nlog(n))。需要注意的是,每个元素只能使用一次,所以需要判断是否匹配的是同一个值。
阅读全文
0 0
- Leecode Week1
- week1
- week1
- week1
- week1
- week1
- week1
- leecode
- LeeCode
- test Week1
- 密码学 week1
- Cryptography-week1
- FERMI-Week1
- ARA-week1
- POMM-week1
- Java week1
- Nov week1
- leetcode week1
- java对象内存的存储
- Spring Cloud 的 Zuul 高可用HA
- Android程序开发之Fragment实现底部导航栏实例代码
- Gensim官方教程翻译(三)——主题与转换(Topics and Transformations)
- 将iso文件制作成u盘
- Leecode Week1
- nyoj 71 独木舟上的旅行
- 感知器的学习
- 隐马尔科夫模型前向后向算法
- Android个人中心各种实现
- Python3.6 基础知识
- Spring Cloud 的 Zuul 使用 Sidecar 整个非JVM微服务
- 2017校招数据分析岗笔试、面试知识点大总结
- 《Java源码分析》:CountDownLatch