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

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;

    }

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值