输出有序数组的中两个元素差值为指定值diff的两个元素
2016-08-25 14:50
453 查看
题目:
输出有序数组的中两个元素差值为指定值diff的两个元素。
思路:
这与输出两个元素的和的值为一定值类似,需要两个指针,不同的是:指针不是一左一右,而是一前一后。
如果差值等于diff,则返回;如果差值大于diff,则左指针右移;如果差值小于diff,则右指针右移。
输出有序数组的中两个元素差值为指定值diff的两个元素。
思路:
这与输出两个元素的和的值为一定值类似,需要两个指针,不同的是:指针不是一左一右,而是一前一后。
如果差值等于diff,则返回;如果差值大于diff,则左指针右移;如果差值小于diff,则右指针右移。
public void findDiffNum(int[] a,int diff){ if(a==null||a.length<=1) return; int i = 0; int j = 1; int length = a.length; while(i<j&&j<length){ if(a[j]-a[i]==diff){ System.out.println(a[i]+" "+a[j]); }else if(a[j]-a[i]>diff){ i++; }else{ j++; } } }
相关文章推荐
- 找出和值等于指定值的元素,如有序数组{1,2,6,23,43,64},求和等于25的两个和数则将是元素2和23,时间复杂度是0(n)。
- 求两个有序数组中,各个元素的c差值最小
- 合并有重复元素的两个有序数组,输出无重复元素
- LeetCode 167. Two Sum II - Input array is sorted,有序数组中的两个元素之和为某个数值,输出这两个元素的索引,且index1<index2
- merge两个有序数组 & 查找一个有序数组中指定元素
- 从数组中找出两个元素的和等于指定数值,并输出位置。
- java实现 数组中两个元素相加等于指定数的所有组合
- 在两个有序数组中寻找第k个元素
- [面试题]设计一个算法找到数组中两个元素相加等于指定数的所有组合
- 交换两个数组的元素使之总和的差值最小
- 求一个数组中两个元素的最大差值
- js中两个常用方法(1.获取当前工程的虚拟目录;2.移除数组指定位置上的元素)
- 【算法王道】找到数组中两个元素相加等于指定数
- 两个有序整形数组找出二者相同的元素和不同的元素
- 求两个有序数组的中位数和者第k小元素
- 两个有序的数组,挑选出相同的元素
- 求一个值是否是一个给定有序数组中两个元素的和
- 第1题 在排序数组中查找和为某个指定数的两个元素之和
- 快速找到两个有序数组第(m+n)/2个元素
- 已知两个有序的链表P,L,将P中由L所指定的位置上的元素打印出来