leetCode 1. Two Sum
来源:互联网 发布:c 面向对象编程 编辑:程序博客网 时间:2024/06/06 02:12
看似是一道简单的题,使用双层for循环,依次取值,和之后的值依次相加,知道和为期望值sh时输出,时间复杂度O(n²)
public int[] twoSum(int[] nums, int target) { int result[] = new int[2]; int length = nums.length; for (int i = 0; i < length; i++){ for(int j = i+1; j<length;i++) { if(nums[i] + nums[j] == target){ result[0] = i; result[1] = j; return result; } } } return result; }
结果性能截图
上网搜的高性能算法,遍历一遍数组后就可以获得结果,思路初始化一个map,key为数组的值,value为数组的角标,一次取值v,如果Map.get(target-v)存在,则返回,否则将其值放入map,减少了比较的算法和一层for循环
public int[] twoSum(int[] nums, int target) { Map<Integer,Integer> map = new HashMap<>(); int arr[]= new int[2]; int len = nums.length; for(int i = 0; i< len;i++){ if(map.get(target-nums[i]) != null && map.get(target-nums[i]) >= 0) { arr[0] = map.get(target-nums[i]); arr[1] = i; return arr; }else{ map.put(nums[i],i); } } return arr; }
性能截图
阅读全文
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
- 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
- 数据库sql语句练习题
- D3 笔记六:Update、Enter、Exit
- Redis入门及在商城案例中的使用
- 使用shell 脚本实现 希尔排序
- linux睡眠和唤醒的一个例子
- leetCode 1. Two Sum
- python logging的使用
- 小白笔记-----------------------------leetcode53. Maximum Subarray
- IO重定向
- Uncowed Forces
- DOM(二)
- mongodb replica sets(复制集)配置与搭建
- uva 11464 暴力枚举矩阵
- 整理音乐(多个链表的重复归并问题)