- 浏览: 1084675 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (695)
- 心情日记 (14)
- AS开发工具 (12)
- 文章转载 (99)
- AIR (5)
- 问题总结 (46)
- SWF格式 (7)
- 测试总结 (10)
- 外文资料 (9)
- 算法技术 (33)
- AS3常用开源库 (43)
- 源码范例 (102)
- FLEX (72)
- FLASH 优化 (33)
- 游戏开发 (49)
- 开发技术 (11)
- 工作应用 (34)
- AS3收集 (140)
- WebBase (0)
- 开发构想 (4)
- 设计模式 (2)
- 框架和框架范例 (19)
- RED5 (3)
- java开发 (3)
- JAVA (1)
- FLASH-3D (23)
- 3D (6)
- 书籍 (10)
- 业界信息资料 (3)
- C# (1)
- JavaScript (12)
- HTML5 (6)
- Flixel (1)
- D5Power RPG网页游戏引擎 (0)
- ColorMatrixFilter - 获得相应颜色的色调 函数 (0)
- Starling (0)
最新评论
-
老顽童203:
字体
水果忍者鼠标跟随特效制作[转载] -
hairball00:
[转] 放出超多的Flash组件源代码 -
he74552775:
flash AS3 RegExp简单功能用法(转) -
hanshuai1232000:
第四点,有利也有弊,等你做了大型的aprg,你就知道了
[转]位图数据内存优化 -
yangfantao:
太感谢
[转] 放出超多的Flash组件源代码
1、有数组[3,7,9,1,4,2,8]
数字无顺序,不重复,要找出其中连续自然数得最大集合的大小,比如这个数组的最大集合为[1,2,3,4],大小为4。用程序实现上述功能。
2、有两个字符串数组,判断两个数组在不考虑顺序的情况下是否相等,数组中的元素有可能重复,比如["bbb","aaa","ddd","aaa"]和["aaa","ddd","aaa","bbb"]相等
["bbb","aaa","ddd"]和["bbb","aaa"]不相等。实现上述功能。
2、有两个字符串数组,判断两个数组在不考虑顺序的情况下是否相等,数组中的元素有可能重复,比如["bbb","aaa","ddd","aaa"]和["aaa","ddd","aaa","bbb"]相等
["bbb","aaa","ddd"]和["bbb","aaa"]不相等。实现上述功能。
var arr=[1,8,9,2,3];
arr.sort(Array.NUM)
var tempArr=[];
var tempArr2=[];
for(var i=0;i<arr.length;i++){
var v=arr[i];
if(tempArr.length==0){tempArr.push(v)}
else if(tempArr[tempArr.length-1]+1=v){tempArr.push(v)}
else if(tempArr2.length<tempArr.length){tempArr2=tempArr;tempArr=[]}
else{tempArr=[]}
}
trace(tempArr2)
}
arr.sort(Array.NUM)
var tempArr=[];
var tempArr2=[];
for(var i=0;i<arr.length;i++){
var v=arr[i];
if(tempArr.length==0){tempArr.push(v)}
else if(tempArr[tempArr.length-1]+1=v){tempArr.push(v)}
else if(tempArr2.length<tempArr.length){tempArr2=tempArr;tempArr=[]}
else{tempArr=[]}
}
trace(tempArr2)
}
var arr1=["bbb","aaa","ddd","aaa"];
var arr2=["bbb","aaa","ddd","aaa"];
arr1.sort();
arr2.sort();
if(arr1.length!=arr2.length){retrun false}
else{
for(var i=0;i<arr1.length;i++){if(arr1[i]!=arr2[i])retrun false}
}
retrun true
var arr2=["bbb","aaa","ddd","aaa"];
arr1.sort();
arr2.sort();
if(arr1.length!=arr2.length){retrun false}
else{
for(var i=0;i<arr1.length;i++){if(arr1[i]!=arr2[i])retrun false}
}
retrun true
抛开两处语法错误以外,这个算法也是错的,假设是连续数组[1,2,3,4,5,6],
就不会执行到这条else if (tempArr2.length<tempArr.length),而是会执行这条判断else if
(tempArr[tempArr.length-1]+1==v),tempArr2永远是空;还有断节的时候,把tempArr置空后应该把这个断节的数存进去
稍微改了下,不知道有没有BUG
稍微改了下,不知道有没有BUG
- var
array:Array = [1,2,3,4,5,6,11,12,13,21,22,23,24,25,26,27];
- trace(test(array))
- function
test(arr:Array):int{
-
arr.sort(Array.NUMERIC);
-
var arr1:Array = [];
-
var arr2:Array = [];
-
for(var i:int = 0; i < arr.length; i++){
-
var v:int = arr[i];
-
if(arr1.length == 0) {
-
arr1.push(v);
-
}
-
else if(arr1[arr1.length - 1] + 1 == v) {
-
arr1.push(v);
-
-
// 如果是连续数组,则直接返回他的长度
-
// 如果已经检测到了最后个数字,则判断临时数组arr1和之前存放的数组arr2的长度大小
-
if(arr1.length == arr.length || (i == arr.length - 1
&& arr1.length > arr2.length)){
-
return arr1.length;
-
}
-
}
-
else if(arr2.length < arr1.length){
-
arr2 = arr1;
-
arr1 = [];
-
arr1.push(v); // 记得要把断节的数存进去
-
}else{
-
arr1 = [];
-
arr1.push(v); // 记得要把断节的数存进去
-
}
-
}
-
return arr2.length;
- }
//1
- var
list:Array = [3,7,9,1,4,2,8];
- function
getMaxLen(arr:Array):int{
-
-
arr.sort(16)
-
var map:Object = {}
-
var tmp:Array = [];
-
var max:int =0;
-
for each(var num in arr){
-
-
if(tmp.length>0){
-
-
if(num-tmp[tmp.length-1]==1){
-
-
tmp.push(num)
-
-
if(tmp.length>max) map[max = tmp.length] =
tmp.slice(0);
-
}else{
-
-
tmp=[num];
-
}
-
-
}else{
-
map[++max] = (tmp=[num]).slice(0)
-
}
-
}
-
return max;
- }
- trace(getMaxLen(list))
//2
- var
arr1:Array =["bbb","aaa","ddd","aaa"];
- var
arr2:Array =["aaa","ddd","aaa","bbb"];
- function
equal(a:Array,b:Array):Boolean{
-
a.sort();
-
b.sort();
-
return a.join("|") == b.join("|")
-
- }
- trace(equal(arr1,arr2))
最好不要在中途 push,直接取出l1,l2,最后slice得到数组为好
第二题
我先想的
排序后
arr1.toString()==arr2.toString()
不过还是用sliz的为好,免得合并后的数组一样但是元素不一样,如
"a","b","c"
"a","bc"
楼上的join同样会有这样的问题
或者可以用
ba1=new ByteArray()
ba1.writeObject(arr1)
ba2=new ByteArray()
ba2.writeObject(arr2)
return ba1.toString()==ba2.toString()
发表评论
-
水果忍者鼠标跟随特效制作[转载]
2012-03-01 16:06 2449实现这效果其实比较简单,主要是思路~! package ... -
[转]三次贝尔曲线
2011-11-10 01:09 1923http://bbs.9ria.com/viewt ... -
轻量级Eval库Grak轻量级Eval库Grak
2011-09-22 03:07 0轻量级Eval库Grak -
[转]AS3与数据结构
2011-09-14 01:08 0http://www.nshen.net/dataSt ... -
井字棋算法
2011-08-18 15:04 0井字棋算法井字棋算法 -
[转 自己改的一个滚动条类,理论上什么都能“滚”
2011-08-11 23:14 0http://bbs.9ria.com/viewthread. ... -
[转] 关于一段时间内鼠标没有移动,执行某函数
2011-08-10 00:22 0http://bbs.9ria.com/viewthread. ... -
很好的FLEX表情聊天界面
2011-08-09 02:06 0很好的FLEX表情聊天界面 -
Flash版《植物大战僵尸》源码
2011-08-09 01:34 0本帖最后由 IJUST 于 2 ... -
愤怒的小鸟 BOX2D FLASH
2011-08-09 01:27 0姊妹篇:Flash版《植物大战僵尸》源码今年就要大四啦,放暑假 ... -
[转]如何计算线段和圆的交点
2011-08-09 00:53 0http://www.thecodeway.com/b ... -
[转] 45度地图坐标转换
2011-07-30 02:41 0昨天有朋友问我 45度地图中关于鼠标点击如果进行坐标转化 ... -
[转]一个Collision类,其中的block方法可以实现两个物体之间的碰撞检测。
2011-07-30 02:35 1388第二个是书中的源代码给出了一个Collision类,其中 ... -
AS3的一些优化计算方法
2011-07-06 12:56 0http://www.cnitblog.com/flashli ... -
[转]AS3类:CRC32校验类
2011-07-06 12:54 2602http://www.cnitblog.com/flashli ... -
基于哈希表数据源的A星寻路算法 - [as 3.0]
2011-06-16 17:03 0在这贴的代码是为了有需要的人学习而不是 提供源码给别人用的 ... -
计算几何算法概览
2011-06-14 17:28 2119计算几何算法概览 一、引言 ... -
[演示] 判断点是否处于三角形内的算法分析
2011-06-14 17:26 3301http://bbs.wow8.org/thread-9429 ... -
判断点在直线的哪一侧
2011-06-14 17:04 0判断点在直线的哪一侧 2.2.1下面开始程序的设计: ... -
[转]动画中坐标旋转公式的原理
2011-05-25 23:30 1491有一定的其它语言编程基础,所以学习新语言还是比较快的。正在进军 ...
相关推荐
本文研究了基于复制丢失(Duplication Loss, DL)问题的两物种小系统发育问题(2-Species Phylogeny Problem, 简称 2SP-DL问题),并提出了一种新的遗传算法G2SP算法来求解。 G2SP算法结合了普通算子和智能算子,...
根据给定文件的信息,我们可以提炼出与ACM算法题及经典算法库相关的多个知识点。以下是对这些知识点的详细解析: ### ACM国际大学生软件大赛简介 ACM(Association for Computing Machinery)国际大学生软件大赛是...
* 判定问题难易处理的标准是:可以由多项式时间算法求解的问题是易处理的,而需要超过多项式时间算法求解的问题是难处理的。 七、函数的阶 * 设 f(N)、g(N)是定义在正数集上的正函数,如果存在正的常数 C 和...
《76经典道算法题及解答》是一份珍贵的资源,涵盖了编程领域中76个经典的算法题目及其详细的解决方案。这些题目旨在帮助程序员提升算法思维、优化问题解决能力,并为面试准备提供实战素材。标签“算法”和“解答”...
Java经典算法题是程序员在开发过程中常常需要面对的挑战,它们可以帮助我们提升编程思维,优化问题解决能力,尤其是在处理复杂数据结构和高效计算时显得尤为重要。这个压缩包中包含了一份名为"JAVA经典算法40题.doc...
"常见面试算法题"这一主题涵盖了编程面试的核心部分,旨在帮助求职者准备这些关键的挑战。下面将详细讨论相关知识点。 1. **算法基础**:算法是解决问题的步骤集合,面试中常见的包括排序算法(如冒泡、选择、插入...
在IT行业的面试中,算法题是衡量候选人技术实力的重要标准之一。这些题目通常涉及数据结构、排序、查找、图论等多个领域,旨在测试应聘者的逻辑思维能力、问题解决能力和编程技巧。以下是一些常见的面试算法题及其...
标题中的两道算法题目是Java面试中常见的类型,它们分别涉及到数组操作和图的最短路径问题,这对于应届毕业生在IT公司的招聘过程中非常重要。以下是这两道题目的详细解析及解决方案。 第一题:寻找两个有序数组的...
《程序员面试经典算法题》是针对程序员在面试过程中可能会遇到的算法问题进行深入解析的一份资源。这份资料旨在帮助程序员提升算法思维,从而在技术面试中脱颖而出。通过学习和掌握这些经典算法,不仅可以提高编程...
10. **概率和随机化算法**:如Monte Carlo方法和Las Vegas算法,用于解决难以精确求解的问题,如近似算法。 这份PDF文档是英文版,意味着读者需要具备一定的英文阅读能力,但同时也提供了接触原汁原味的学术资料的...
### 基于Dijkstra算法的最短路径问题求解 #### 一、Dijkstra算法简介 Dijkstra算法是由荷兰计算机科学家Edsger W. Dijkstra于1956年提出的一种用于解决加权图中单源最短路径问题的算法。该算法能够有效地找出从...
本资料"gentlex3u_non dominant_遗传模型求解_遗传算法"主要探讨了如何运用这两种算法来求解特定的遗传模型。 遗传算法源于生物进化论中的自然选择和遗传机制,通过模拟种群的进化过程来寻找最优解。其基本步骤包括...
《程序员的算法趣题》是一本专门为IT从业者和有志于进入这个领域的学习者准备的算法书籍。它通过一系列有趣且富有挑战性的题目,旨在帮助读者深入理解和掌握计算机科学中的核心算法,提升解决实际问题的能力。这本书...
构造最小生成树可以使用Kruskal算法或Prim算法,本题中可能需要结合贪心思想来优化路径选择,确保访问每个牧场的总时间最少。 7. 逆序对(ALGO-7) 逆序对的计算是排序算法中的一个重要概念,它表示在一个序列中,...
这份"iOS面试必看算法题"集合,旨在帮助你全面了解并掌握iOS面试中可能出现的算法问题,助你顺利通过BATJ(百度、阿里巴巴、腾讯、京东)等大厂的面试。 首先,我们要理解算法是什么。算法是一系列解决问题的清晰...
6. 图论算法:包括深度优先搜索(DFS)和广度优先搜索(BFS),以及Dijkstra算法、Floyd-Warshall算法等用于求解最短路径问题。图论在解决实际问题中广泛应用,如网络设计、物流优化等。 7. 树结构与二叉树:二叉...
《程序员算法趣题——随书源码》是一个与算法相关的学习资源,包含了增井敏克著作《程序员算法趣题》中的实例代码。增井敏克是算法领域知名的专家,他的书籍通常深入浅出,旨在帮助程序员提升算法思维和解决实际问题...
"JavaSE基础算法题"这个主题涵盖了在Java标准版环境(Java SE)中解决算法问题的基础知识。这些题目通常涉及到数据结构、排序、搜索、图论等多个方面,旨在提升开发者解决问题的能力和程序设计的效率。 一、数据...
遗传算法求解一般函数极值问题
本项目“cpp数据结构与算法习题”聚焦于四个核心主题:二进制大数、双向十字链表、SAT问题求解以及递归迷宫路径。以下是关于这些主题的详细讲解。 1. **二进制大数(Binary)** 在计算机科学中,处理大整数是常见...