两数相加
来源:互联网 发布:java 获取浏览器 编辑:程序博客网 时间:2024/05/21 14:52
Example:
Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,return [0, 1].我的方法( O(n2) ):
public class Solution { public int[] twoSum(int[] nums, int target) { int[] tmparray={0,0}; int tmp; for(int i=0;i<nums.length;i++){ for(int k=1;k<nums.length;k++){ if(nums[i]+nums[k]==target&&i!=k){ tmparray[0]=i; tmparray[1]=k; return tmparray; } continue; } } return tmparray; }}
官网给出方法(O(n))
public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < nums.length; i++) { int complement = target - nums[i]; if (map.containsKey(complement)) { return new int[] { map.get(complement), i }; } map.put(nums[i], i); } throw new IllegalArgumentException("No two sum solution");}
区别:
1.我的方法是两次循环数组,而官网给出的是将数组放入map
2.我是相加求target,而官网是相减求另外一个数
0 0
- 两数相加问题
- 算法:两数相加
- 两数相加
- 汇编两数相加
- XMLHttpRequest 实现两数相加
- 不用加减乘除完成两数相加
- 两数相加求进位次数
- 【LeetCode】- Two Sum(两数相加)
- 不用加减法对两数进行相加
- 371 不使用"+"、"-" 两数相加
- 返回引用的两数相加
- 两数相加问题 A + B Problem
- 两数相加的方法调用
- c语言判断两数相加是否溢出
- 笔试题之二进制输出两数相加
- LeetCode OJ 之 Add Two Numbers (”两数“相加)
- LeetCode 2. Add Two Numbers(两数相加)
- [LeetCode]371.Sum of Two Integers两数相加
- Android监听网络
- Python函数式编程——map()、reduce()
- 软件连接虚拟机的连接方法
- 屏幕适配
- SAP SMP 3.0 LogonUI pugin的中文提示修改
- 两数相加
- JavaScript继承实现(一)构造函数的继承
- 支付宝APP开发公钥私匙生成和获得
- Android手机控制电脑撸出HelloWorld
- 枪的认识
- Java面向对象的三大特性
- Android 关于.so库文件找不到
- 加入域 计算机&帐号重定向
- 按照 '图文并茂教你在keil下搭建RT-thread最小系统工程' 编译不过的问题