flex 比较二维二元数组是否有重复(包括交集) 例如ip范围的例子
2010-08-27 11:07
295 查看
<?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>
<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>
相关文章推荐
- 生成一个数组,包括k个不重复的整数,并且要求这些整数范围为[0,n)
- 转:在0~N(不包括N)范围内随机生成一个长度为M(M <= N)且内容不重复的数组
- 一个长度为N的整形数组,数组中每个元素的取值范围是[0,N-1],写一个算法判断数组中是否存在重复的数字
- js比较字符数组元素是否重复
- 假设数组a有n个元素,元素取值范围是1~n,如何判定数组是否存在重复元素
- 笔试算法题(29):判断元素范围1到N的数组是否有重复数字 & 计算整数的7倍
- 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{
- 一个数组arr,长度为N,N小于10^8,里面数字的范围是1~N,是否有重复,并统计出来
- 在0~N(不包括N)范围内随机生成一个长度为M(M <= N)且内容不重复的数组
- 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3
- 给定一个长度为N的数组,其中每个元素的取值范围都是1到N。判断数组中是否有重复的数字。(原数组不必保留)
- 比较ip是否在两个ip范围之间
- Javascript比较两个数组是否相等(存在重复元素)
- randnumber_mn.c 生成一个数组,包括k个不重复的整数,并且要求这些整数范围为[m,n),生成的结果中不能包含inum中的数字,size表示inum的长度
- Android 比较两个时间段是否有交集或重复
- zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来。 规定,所有的边都只能画一次,不能重复画。 输入 第一行只有一个正整数N(N<=
- C++ - 一个非递减数组,下标从0到n,元素的取值范围为从0到n的整数,判断其中是否有重复元素
- 比较字符串数组中是否有重复值
- 比较两个数组是否有重复的值
- 程序员面试题目总结--数组(二)【二分查找、找出给定数字出现次数、两个有序整型数组交集、找出数组中唯一的重复元素、判断数组中的数值是否连续相邻】