Two Sum
来源:互联网 发布:大数据 保险 客户画像 编辑:程序博客网 时间:2024/06/07 06:11
</pre><pre name="code" class="html"> public static int[] twoSum(int[] nums, int target) { for(int i=0; i< nums.length;i++){ for(int j=i; j<nums.length; j++){ if(nums[i]+nums[j]== target){ int index[]=new int[2]; index[0]=i+1; index[1]=j+1; return index; }else{ j++; } } } return null; }
这是我自己写的
</pre><pre name="code" class="html">
O(n2) runtime, O(1) space – Brute force:
网上查了优化的方法:
O(n) runtime, O(n) space – Hash table:
public class Solution { public int[] twoSum(int[] nums, int target) { int[] res = new int[2]; res[0] = -1; res[1] = -1; final HashMap<Integer, Integer> h = new HashMap<Integer, Integer>(); for (int i = 0; i < nums.length; i++) { if (h.containsKey(target - nums[i])) { int index = h.get(target-nums[i])+1; res[0] = Math.min(i+1, index); res[1] = Math.max(i+1, index); } h.put(nums[i], i); } return res; }}
0 0
- Two Sum
- Two Sum
- Two Sum
- two sum
- Two Sum
- Two Sum
- Two Sum
- Two Sum
- Two Sum
- Two Sum
- Two Sum
- Two Sum
- Two Sum
- Two Sum
- Two Sum
- Two Sum
- Two Sum
- Two Sum
- 拉伸图片内部
- Java线程池架构原理和源码解析(ThreadPoolExecutor)
- 利用rotatelogs动态切割web日志scripts
- iOS和AnidroEmoji表情同步转码
- (function($){...})(jQuery)是什么意思
- Two Sum
- Android 开发的常用工具类(一)——ScreenUtils 可用于获取屏幕宽高,截屏的工具类
- C 语言中 typeof 关键字简介
- 【July程序员编程艺术】之最小的k个数问题
- mysql字段加密
- 弹出键盘
- Oracle数据库中序列(SEQUENCE)的用法和实例需求
- Hadoop Mapreduce分区、分组、二次排序过程详解[转]
- Android获取手机应用