第一周LeetCode
来源:互联网 发布:靠谱韩国代购淘宝店 编辑:程序博客网 时间:2024/05/18 00:49
Two Sum
题目
难度:Easy
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
Example:
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].
You may assume that each input would have exactly one solution, and you may not use the same element twice.
实现思路
实现用了最简单的循环求解,从前往后遍历每一个数字,对于数组内其他数字都加一下看是否符合题目。由于每个数字只能用一次,不需要每个数字每次都遍历全组。且因为答案唯一,所以设置了一个flag记录是否找到答案,一旦找到答案就退出循环,返回答案。算法的复杂度为 n(n-1)/2 =O(n^2)。
看了一下网上的算法,用hash表来做可以做到O(n)就能实现,学习了。
下面贴一下自己的代码
vector<int> twoSum(vector<int>& nums, int target) { bool flag = false; vector<int> answer; for(int i = 0; i < nums.size(); i++) { for (int j = i+1; j < nums.size(); j++) { if (!flag) { if (nums[i]+nums[j] == target) { answer.push_back(i); answer.push_back(j); flag = true; } } } if (flag) break; } return answer; }
阅读全文
0 0
- leetcode-python 第一周
- leetcode-第一周
- LeetCode题解 第一周
- 第一周LeetCode
- [leetcode] 第一周作业
- LeetCode 算法习题 第一周
- Leetcode ArrayNesting(第一周作业)
- 第一周:[LeetCode]1. Two Sum
- 第一周:[LeetCode]6. ZigZag Conversion
- 第一周:[leetcode] 42. Trapping Rain Water
- 算法第一周LeetCode解题报告
- 第一周LeetCode算法题之一
- 第一周LeetCode算法题之二
- 第一周
- 第一周
- 第一周
- 第一周
- 第一周
- TypeError: can only concatenate tuple (not "str") to tuple(python 元组只有一个元素需要加逗号)
- Java里类加载顺序
- js中常见的排序算法
- 欢迎使用CSDN-markdown编辑器
- STL模拟实现1.0 -- list和iterator模拟实现和简单分析
- 第一周LeetCode
- hdu1533(费用流模板)
- 贪心算法
- Codeforces-682A:Alyona and Numbers(水题)
- 调用百度地图API确定地址的经纬度,根据地址的经纬度查找中文地址
- TableLayout与ViewPager联动
- 【算法导论33】跳跃表(Skip list)原理与java实现
- QT之使用QMutex/ QMutexLocker互斥量同步线程小例子
- Asp.net MVC3 自定义HtmlHelper控件