flex 比较二维二元数组是否有重复(包括交集) 例如ip范围的例子

 

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 

layout="absolute" creationComplete="init()">

<mx:Script>

<![CDATA[

import mx.controls.Alert;

private function init():void {

var array:Array = [

[-3, 0],

[-1,-7]

]

var flag:Boolean = isRepeat(array);

if (flag == true) {

Alert.show('重复');

} else {

Alert.show('没有重复');

}

}

protected function isRepeat(array:Array):Boolean {

var flag:Boolean = false;

if (array.length > 0) {

var len:uint = array.length;

if (len == 1) {

flag = false;

} else if (len > 1) {

for (var i:int=0; i<len;) {

for (var j:int=0; j<len; j++) {

if (i === j) {

continue;

} else {

if (parseInt(array[j][0]) <= parseInt(array[j][1])) {

if ((parseInt(array[i][0]) >= parseInt(array[j][0]) && parseInt(array[i][0]) <= parseInt(array[j][1]))

||(parseInt(array[i][1]) >= parseInt(array[j][0]) && parseInt(array[i][1])<= parseInt(array[j][1]))) {

flag = true;

return flag;

} else {

flag = false;

}

} else if (parseInt(array[j][0]) > parseInt(array[j][1])) {

if ((parseInt(array[i][0]) >= parseInt(array[j][1]) && parseInt(array[i][0]) <= parseInt(array[j][0]))

||(parseInt(array[i][1]) >= parseInt(array[j][1]) && parseInt(array[i][1])<= parseInt(array[j][0]))) {

flag = true;

return flag;

} else {

flag = false;

}

}

}

}

i++;

}

}

}

return flag;

}

]]>

</mx:Script>

</mx:Application>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值