找出数组中两个数之和为指定的数
来源:互联网 发布:兼职在家做数据录入 编辑:程序博客网 时间:2024/04/30 15:26
找出数组中两个数之和为指定的数
这个是lc中的一个简单题,原题描述如下:
也就是说给定一个整型的数组,返回两个数的下标,当然了,这两个数不是随意的,这两个数的和要等于给定target。
下面是我的实现:
public class Solution { public int[] twoSum(int[] nums, int target) { int[] rst = {0,0}; int length = nums.length; if(nums.length <= 0){ return rst; } for(int i = 0; i < length; ++i){ /* if(target < nums[i]){ continue; } */ //获取还需要的另一个 数 int temp = target - nums[i]; int j = 0; for(j = i + 1; j < length; ++j){ if(temp == nums[j]){ break; } } //如果在后面的数字中找到了符合要求的 if(j < length){ rst[0] = i; rst[1] = j; } } return rst; }}
其实最简单除暴的就是去遍历两次数组中的内容,然后逐个的相加来判断是否相等, 这样的时间复杂度是O(N^2)几乎不考虑效率的可以这样来蛮干,但是我的这个首先是取出数组中的一个值,然后在数组之后的元素中去寻找是否存在一个数值等于target-current_number,如果有就返回,没有就返回[0,0]
此时的时间复杂度是O(N)。
0 0
- 找出数组中两个数之和为指定的数
- 在一个数组中找出几个数之和为指定的数
- 面试算法题:数组中两个数之和为定值,找出这对数的下标
- 给出一个数和一个有序数组,找出该数组中之和等于该数的两个数
- 找出有序数组中和等于指定数的两个数
- 求从一个整数数组中两个数之和为m的两个数
- 第1题 在排序数组中查找和为某个指定数的两个元素之和
- 找出升序数组中元素之和最接近于给定数值的两个数
- 找出数组中不同的两个数
- 排好序的数组中,找出两数之和为m的所有组合
- 1.Two Sum (数组中两个数之和为n)
- 一个数组中两个数的和为N,找出这两个数字的下标
- 【算法世界】(八)找出数组中的两个数,使得二者之和为特定值target
- 两数之和二 给定一个整形的数组,找出其中的两个数使其和为某个指定的值,并返回这两个数的下标(数组下标是从0开始)。假设数组元素的值各不相同,则要求时间复杂度O(n),n为数组的长度
- 在一个数组中找两个数,使得它们的和为一个指定的数
- 找出数组中和为给定值的两个数
- 1352 找出数组中和为k的两个数
- 数组------找出数组中只出现一次的两个数
- Android中的OutOfMemoryError
- Apache模块mod_rewrite
- iOS多线程之Pthread/NSthread
- nova 创建虚拟机
- 解决C#后台返回json数据双引号转义为"问题
- 找出数组中两个数之和为指定的数
- PHP页面跳转几种实现技巧
- 70年后,你的房子面临怎样的命运
- Jquery easyui tabs 指定显示tabs页
- socket.io做成的一个群聊的dome
- 自定义toast
- Android libdvm.so 与 libart.so
- 关于讯飞语音不能识别问题
- linux命令大全(1)