Leetcode第一题<two sum>
来源:互联网 发布:windows错误1503 编辑:程序博客网 时间:2024/05/20 06:54
从今天开始刷题啦。
题目原文
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].
这道题一共有三种解法:
第一种算法很容易想的到:暴力破解
public class Solution {int[] nums;int target;public int[] twoSum(int[] nums, int target) { int i,j; int[] index=new int[]{0,1}; for(i=0;i<nums.length;i++){ for(j=i+1;j<nums.length;j++){ if ((nums[i]+nums[j])== target) return (new int[]{i,j}); } } return index;}}
这种算法不多解释。主要说明的是算法时间复杂度O(n^2),空间复杂度O(1)
第二种算法使用到了HashSet
这种算法利用的是HashSet元素不能重复。
第三种算法则使用了HashMap
第三种和第二种原理相同,不过辅助空间要翻倍。
public class Solution2 { int[] nums; int target; public int[] twoSum(int[] nums, int target) { HashMap<Integer,Integer> map=new HashMap<Integer,Integer>(); int[] result=new int[]{0,1}; int i=0; int index; for(i=0;i<nums.length;i++) { if (map.containsKey(nums[i])) { index=map.get(nums[i]); result[0]=index; result[1]=i; break; } else{ map.put(target-nums[i],i); } } return result; } }
这种算法时间复杂度为O(n),空间复杂度为O(n)
0 0
- leetcode 第一题 two sum
- LeetCode 第一题,Two Sum
- leetcode第一题two sum
- Two Sum leetcode第一题
- two Sum leetCode第一题
- leetcode 第一题:two sum
- LeetCode第一题Two Sum
- Leetcode第一题--------- Two Sum
- Leetcode第一题<two sum>
- LeetCode第一题:Two Sum
- leetcode------第一题 Two Sum
- LeetCode 1.Two Sum ------------LeetCode 第一题
- Leetcode 第一题 Two Sum java代码
- Leetcode 之第一题 two sum
- Leetcode oj1 第一题 two sum
- 第一题: Two Sum
- 第一题 two-sum
- leetcode第一题(medium)——Two Sum
- cocos Creator js 三合一跑胡子房卡棋牌源码- 跑胡子房卡完整源码下载
- struts2和springmvc的区别
- 电子商务系统的设计与实现(十一):数据库设计
- Node.js笔记六:单元测试
- 蓝桥杯省赛 方格填数C/C++
- Leetcode第一题<two sum>
- Redhat6.5利用yum快速搭建LAMP环境
- 强化学习(Reinforcement Learning, RL)初步介绍
- RMQ算法
- Codeforces Round #297 (Div. 2)E. Anya and Cubes 折半搜索
- PAT甲级1001. A+B Format (20)
- kaldi data preparation
- 大数据江湖之即席查询与分析(下篇)--手把手教你搭建即席查询与分析Demo
- ArcEngine 释放锁文件,彻底移除图层