当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

名企面试100题_14

发表于: 2012-05-17   作者:EmmaZhao   来源:转载   浏览次数:
摘要: 第14题(数组): 题目:输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。 要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。 例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。 思路: package cn.emma.interview_
第14题(数组):

题目:输入一个已经按升序排序过的数组和一个数字,

在数组中查找两个数,使得它们的和正好是输入的那个数字。

要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。

例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。

思路:
package cn.emma.interview_14;

public class GetDivision {
	public static void getDivision(int[] a, int n){
		int i,j;
		for(i = 0,j=a.length-1;i<j;){
			while((a[i] < n - a[j]) && (i < j)){
				i++;
			}
			if(a[i] + a[j] == n){
				System.out.println(a[i] + " " + a[j]);
				break;
			}
			else{
				j--;
			}
		}
		if(i >= j){
			System.out.println("无解。");
		}
	}

	public static void main(String[] args) {
		int[] a = {1,2,3,4,5,6,7,8,9,10};
		getDivision(a, 11);
	}
}

名企面试100题_14

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
51、放鱼问题 题目:将20条鱼放入10个桶中,每个桶可以放0~10条,总共有多少种方法。 int Function(
又是一年新春到,又是一年跳槽时。年后跳槽的高峰期来临,IT界的骄子们,你,准备好了吗? 点击原文
全球五百强IT名企智力题精选 全球五百强IT名企智力题精选,汇聚了有史以来最完整最详细的思路分析和
2014,名企面试难度排行榜 有些公司面试门槛很高,很多求职的小伙伴倒在了面试途中,一起来看看2014
腾讯2011.10.15校园招聘会笔试题 1、下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的
题目要求:   问题1:编写实现链表排序的一种算法。   问题2:编写实现数组排序的一种算法。
题目要求:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结
题目要求:   给出两个单向链表的头指针,比如h1和h2,判断两个链表是否相交。 题目分析:   1.
题目要求:   输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出
题目要求:   我们把只包含因子2、3和5的数称为丑数。例如6、8都是丑数,但是14不是,因为它包含
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号