1. Two Sum
来源:互联网 发布:java 防止xss攻击 编辑:程序博客网 时间:2024/06/06 03:21
两数之和的第一个版本:给定一个整形数组和一个整数target,如果在数组中存在两个元素之和为target,则返回这两个元素的下标。
1.暴力求解法(brute force)
我的第一个思路当然是暴力求解法(brute force),这种方法只需要两重循环即可,其实是一种排列组合的方式,求出所有可能的组合方式,然后从其中查找是否存在和为target的组合,如果有则返回对应的下标。这种方法的时间复杂度为O(n2),空间复杂度为O(1)。
2.双重哈希表
为了减少查找target - nums[i]的时间复杂度,这里采用哈希表对数组元素和元素下标做一个映射,减少查找时间。
3.单通哈希表
这种方式其实是在做哈希映射的同时查找target - nums[i]是否已经在哈希表中,我的最终解法也是这种方式。
我的解法:
最后两种方法的时间复杂度和空间复杂度是相同的,第三种方法的常量因子相对较小。
阅读全文
0 0
- 1. Two Sum && 167. Two Sum II
- LeetCode 1. Two Sum
- [LeetCode]1.Two Sum
- LeetCode 1.Two Sum
- LeetCode --- 1. Two Sum
- 1.Two Sum
- [Leetcode] 1. Two Sum
- leetcode---1.Two sum
- 1.Two Sum
- [Leetcode] 1. Two Sum
- LeetCode 1.Two Sum
- 1. Two Sum
- 1. Two Sum
- 1. Two Sum Ruby
- LeetCode 1.Two Sum
- LeetCode 1.Two Sum
- 1. Two Sum
- 1.Two Sum
- 【编译原理】语法分析(一)
- 求值
- AJAX的初级使用及登录注册案例
- OkHttp的基本使用——替代Apache HttpClient
- PHP判断是否为手机端访问,微信端访问
- 1. Two Sum
- #pragma pack
- Dynamic Programing -- Leetcode problem 647. Palindromic Substrings
- /System/Library/Frameworks/Ruby.framework/Versions/
- java.lang.OutOfMemoryError: PermGen space
- VS快捷键
- python 字符串处理
- 趣味取小数(1)
- js实现鼠标签名,不用任何插件,超值