算法---从一个数组(或者集合中)找出和为某个值的下标
来源:互联网 发布:golang udp server 编辑:程序博客网 时间:2024/05/16 03:48
需求,例如:
Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,return [0, 1].
public static void main(String[] args) { int[] nums = new int[]{2, 7, 5, 1, 3}; int[] ints = twoSum(nums, 10); System.out.println(ints[0]); System.out.println(ints[1]); }
public static int[] twoSum(int[] nums, int target) { //因为你要找到这两个相加等于目标数,因此我认为你至少要遍历一次 MaphashMap = new HashMap<>(); for (int i = 0; i < nums.length; i++) { int complement = target - nums[i]; if (hashMap.containsKey(complement)) { return new int[]{hashMap.get(complement), i}; } hashMap.put(nums[i], i); } throw new IllegalArgumentException("No two sum solution"); }
public static int[] twoSum(int[] nums, int target) { for (int i = 0; i < nums.length; i++) { for (int j = i + 1; j < nums.length; j++) { if (nums[j] == target - nums[i]) { return new int[]{i, j}; } } } throw new IllegalArgumentException("No two sum solution"); }
阅读全文
0 0
- 算法---从一个数组(或者集合中)找出和为某个值的下标
- 一个数组中两个数的和为N,找出这两个数字的下标
- 两数之和二 给定一个整形的数组,找出其中的两个数使其和为某个指定的值,并返回这两个数的下标(数组下标是从0开始)。假设数组元素的值各不相同,则要求时间复杂度O(n),n为数组的长度
- 从一个数组中找出几个数,使其相加等于某个值的算法(数组元素可以重复)
- 面试算法题:数组中两个数之和为定值,找出这对数的下标
- 从一个数据元素无序的整型数组中找出最小的两个数的下标
- 给定一个整形数组,是否能找出其中的两个数使其和为某个指定的值?
- 给定一整型数组,若数组中某个下标值大的元素值小于某个下标值比它小的元素值,称这是一个反序。
- 给定一整型数组,若数组中某个下标值大的元素值小于某个下标值比它小的元素值,称这是一个反序
- 【查找】在按照绝对值排序的数组中,找出和为k的两个数的下标
- [Leetcode #1]Two Sum 从数组中找出和为特定值的两个数
- 从数组中找出一对元素,其和是一个给定的目标数字。假设数组中只存在一个符合要求的数值对,返回这些数值的下标
- 算法题29 从一个取值范围为1~N的不重复数列中找出所有满足两数和为N+1的数对
- 算法题29 从一个取值范围为1~N的不重复数列中找出所有满足两数和为N+1的数对
- 从一个无序数组中找出缺少的值。
- [算法练习]从一个正数数组中找出重复的数,假设数组的值的范围都小于65536
- 从一个长度为n的数组中找出前k个最小值的最优实现
- 从长度为N的数组中找出所有M个元素组合的优化算法
- 【单调栈】codeforces 280b
- ccf集合竞价
- vue.js基础-组件
- QT关于屏幕保护程序
- js循环语句与循环嵌套
- 算法---从一个数组(或者集合中)找出和为某个值的下标
- jinja2.exceptions.UndefinedError: 'form' is undefined
- Uncaught TypeError: window.showModalDialog is not a function chrome 谷歌浏览器
- 图像搜索项目整理笔记
- redis采用序列化方案存对象
- 用户注册与登录功能的实现
- android弱网下优化
- RESTful
- go 发送邮件