现在的位置: 首页 > 综合 > 正文

Amazon Campus(2013-Sep-22)Question 1 / 2 (Amazon Campus(5): completely inside interval)

2018年02月18日 ⁄ 综合 ⁄ 共 952字 ⁄ 字号 评论关闭
Question 1 / 2 (Amazon Campus(5): completely inside interval)

Given a set of open intervals, check whether there exists an interval which is completely inside another interval. If exists, print “1”, otherwise print “0”. You just need to consider the case that all the end points are integers and there are no exactly
the same open intervals.

Input:

n  --- number of open intervals

a_1 b_1 a_2 b_2 ... a_n b_n   ------ n open intervals   (a_1, b_1) ... (a_n, b_n), in which a_i < b_i for all i

Output:

1 (meaning that there exists an interval which is completely inside another interval) or 0 (otherwise)

Sample Input 1

3

1 2 3 4 5 6

Sample Output 1

0

Sample Input 2

2

1 4 2 3

Sample Output 2

1

    static int interval(int[] a) {
        // a : storing all the end points, in the same order as the input, that is, a_1 b_1 a_2 b_2 ... a_n b_n
        // return value: 1 (meaning that there exists an interval which is completely inside another interval) or 0 (otherwise)
        int flag = 0;
    	for(int i=0; i<a.length-1; i+=2) {
    		for(int j=0; j!=i&&j<a.length-1; j+=2) {
    			if((a[i]<=a[j] && a[i+1]>=a[j+1]) || (a[j]<=a[i] && a[j+1]>=a[i+1])) {
    				flag = 1;
    				break;
    			}
    		}
    	}
    	return flag;

    }

注意:等于的情况也算全部包含。

抱歉!评论已关闭.