leetcode-1:Two Sum
来源:互联网 发布:什么软件属于系统软件 编辑:程序博客网 时间:2024/06/17 03:30
原题网址:https://leetcode.com/problems/two-sum/
题目大意:给定一个整数的数组,返回两个数的下标,使得这两个数的加和等于target。
解题思路:
1、暴力法求解
遍历数组,两两相加,时间复杂度为O(
2、使用Hash表,时间复杂度为O(n),空间复杂度为O(n)
具体代码:
Java实现,主要使用HashMap,散列映射表
public class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer,Integer> map=new HashMap<>(); for(int i=0;i<nums.length;i++){ int x=nums[i]; if(map.containsKey(target-x)){ return new int[] {map.get(target-x),i}; } map.put(x,i); } throw new IllegalArgumentException("No two Sum solution"); }}
Python实现
这里主要使用Python的字典
class Solution(object): def twoSum(self, nums, target): dict = {} for i in xrange(len(nums)): x = nums[i] if target-x in dict: return (dict[target-x], i) dict[x] = i
0 0
- 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
- LeetCode 1:《Two Sum》
- LeetCode | #1 Two Sum
- leetcode-1 Two Sum
- Two Sum | LeetCode(1)
- [Leetcode]1Two Sum
- leetcode 1 Two Sum
- leetcode #1 Two Sum
- leetcode 1:Two Sum
- LeetCode 1 Two Sum
- leetcode #1 two sum
- UILable的换行
- 在Android中java与js互调的demo
- linux启动apache命令报错(98)Address already in use: make_sock: could not bind to addres
- java并发库之Executors常用的创建ExecutorService的几个方法说明
- RHEL 6.4(i386)安装基于fcitx的搜狗拼音输入法
- leetcode-1:Two Sum
- Promise学习记录(一)
- matlab 基础语法笔记(一)
- MS windows caffe编译问题
- ace admin java 整合 开发 后台框架,aceadmin_HTML5 java
- 安装xampp后apache不能启动解决方法
- free()后程序崩溃问题
- 数组与指针
- Hadoop 基本数据类型