LeetCode题目:两数之和2
题目描述:
给定一个整数数组 nums
和一个目标值 target
,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
示例:
给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 解法1:class Solution { public int[] twoSum(int[] numbers, int target) { int i = 0,j = numbers.length-1; int[] nums = new int[2]; while(i<j) { if(numbers[i] + numbers[j] < target) { i++; } else if(numbers[i] + numbers[j] > target) { j--; } else if(numbers[i] + numbers[j] == target) { nums[0] = i+1; nums[1] = j+1; break; } } return nums; }} 解法2:二分法
private int binarySearch(int[] arr, int L, int R, int target) { while (L <= R) { int mid = L + (r - R) / 2; if (arr[mid] > target) { R = mid - 1; } else if (arr[mid] < target) { L = mid + 1; } else { return mid; } } return -1; }
public int[] twoSum_2(int[] numbers, int target) {for (int i = 0; i <= numbers.length - 2; i++) { int cur = numbers[i]; int find = target - cur; int findIndex = binarySearch(numbers, i + 1, numbers.length - 1, find); if (findIndex != -1) { return new int[] {i + 1, findIndex + 1}; } } return null; }
转载于:https://www.cnblogs.com/zhangchuan1001/p/10597732.html
LeetCode题目:两数之和2相关推荐
- [leetcode]1.两数之和
[leetcode]1.两数之和 题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应 ...
- [hashmap|空间换时间] leetcode 1 两数之和
[hashmap|空间换时间] leetcode 1 两数之和 1.题目 题目链接 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下 ...
- C/C++描述 LeetCode 167. 两数之和 II - 输入有序数组
C/C++描述 LeetCode 167. 两数之和 II - 输入有序数组 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在 ...
- 【LeetCode】两数之和、三数之和、四数之和系列
文章目录 两数之和★ 三数之和★★ 四数之和★★ 四数相加Ⅱ★★ 最接近的三数之和★★ 此篇文章总结下力扣中的两数之和.三数之和.四数之和及一系列求数组中满足达到目标值的元组个数的问题,仔细阅读下面的 ...
- LeetCode 1. 两数之和
LeetCode 1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入 ...
- 【前端来刷LeetCode】两数之和与两数相加
大部分玩前端的小伙伴,在算法上都相对要薄弱些,毕竟调样式.调兼容就够掉头发的了,哪还有多余的头发再去折腾. 确实在前端中需要使用到算法的地方是比较少,但若要往高级方向发展,算法的基本功就非常重要啦.对 ...
- 力扣(leetcode)-1. 两数之和
描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组 ...
- LeetCode 01两数之和02两数相加
力扣 LeetCode01两数之和 LeetCode02两数之加 前言:第一次LeetCode打卡题解,前面组织的打卡活动从今天开始正式开始了,很多csdn和公众号小伙伴以及加入了,欢迎加入!详细看力 ...
- LeetCode 170. 两数之和 III - 数据结构设计(哈希map)
文章目录 1. 题目 2. 解题 1. 题目 设计并实现一个 TwoSum 的类,使该类需要支持 add 和 find 的操作. add 操作 - 对内部数据结构增加一个数. find 操作 - 寻找 ...
- leetCode:twoSum 两数之和 【JAVA实现】
LeetCode 两数之和 给定一个整数数组,返回两个数字的索引,使它们相加到特定目标. 您可以假设每个输入只有一个解决方案,并且您可能不会两次使用相同的元素. 更多文章查看个人博客 个人博客地址:t ...
最新文章
- Java设计模式之迭代器模式
- 如何发表高水平论文(转载,非常好)
- JAVA8的新特性之函数式接口
- Java案例:通过循环打印一颗爱心
- 计算机网络环境中学科教学,浅谈基于计算机网络环境下的农村小学的科学学科教育...
- c语言交换两个变量的值 讲课,用C语言的泛型实现交换两个变量值
- mongodb分片部署
- 洛谷P1216 [USACO1.5][IOI1994]数字三角形 Number Triangles
- ImportError: No Module Named [x]
- linux kprobe rootkit学习
- Android——selector背景选择器的使用详解(二)
- windows7修改或删除曾经保存的远程桌面连接的密码
- 如何免费的把 PDF 转换为 Word文档?
- 极速还原 V4.0 简体中文绿色免费版
- 软考高级信息系统项目管理师经验分享
- 涨跌的例题用C语言编辑,涨跌比率指标用法及源代码(ADR)
- 教师资格证面试缴费找不到服务器,2016年教师资格证考试报名网上缴费常见问题...
- PC微信端浏览器js点击失效
- 抱薪者说 | 从零开始 ,社区年会诞生记
- oracle通过imp导出数据库时提示:这些对象由***导出,而不是当前用户解决方法