代码改变世界

编程之美-快速寻找满足条件的2 个数

2013-10-13 23:17 by youxin, 856 阅读, 0 推荐, 收藏,
摘要:能否快速找出一个数组中的两个数字,让这个两个数字之和等于一个给定的值,为了简化起见,我们假设这个数组中肯定至少存在一组满足要求的解。作者给出了3种方案:[方案一]穷举法:从数组任意取出两个数字,计算两者之和是否为给定的数字。时间复杂度O(N^2),效率较低。[方案二]将问题变通为一个查找问题:求两个数之和,假定为sum。对于数组中的每个数array[i],判断sum-array[i]是否在数组中。在一个无序数组中查找一个数的复杂度是O(N),对于每个数字都要进行相应的查找,则时间复杂度仍为O(N^2)。为了提高效率,可以相对数组进行排序,然后利用二分查找算法,时间复杂度为O(NlogN)。[方 阅读全文

Object.prototype.toString.call() 区分对象类型(判断对象类型)

2013-10-12 14:26 by youxin, 479 阅读, 0 推荐, 收藏,
摘要:在 JavaScript 里使用typeof来判断数据类型,只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种。对于数组、对象来说,其关系错综复杂,使用typeof都会统一返回 “object” 字符串。要想区别对象、数组单纯... 阅读全文

javascript圆形排列

2013-10-12 13:21 by youxin, 1209 阅读, 0 推荐, 收藏,
摘要:显示效果如下:需要用到的知识:等于半径长的圆弧所对的圆心角叫做1弧度的角,用符号rad表示,读作弧度。用弧度作单位来度量角的制度叫做弧度制。另外一种度量角的方法是角度制。弧度制的精髓就在于统一了度量弧与半径的单位,从而大大简化了有关公式及运算,尤其在高等数学中,其优点就格外明显。一个完整的圆的弧度是2π,所以2π rad = 360°,1 π rad = 180°,我们平时用的sin(x); x为π/2是就相等于90°,为1.sin,cos用弧度制方便一点。var dotLeft = ($(".container").width()-$(&qu 阅读全文

JavaScript实现定点圆周运动

2013-10-12 02:42 by youxin, 1161 阅读, 0 推荐, 收藏,
摘要:目是这样的:假设有一定点(400px,300px),通过JavaScript使一个直径20px的圆点以 r=180px 为半径围绕该点做匀速圆周运动。这个问题的整体实现思想应该是这样的,看到“半径”,“圆周运动”这些字眼首先应该想到的是数学方法,想到sin,cos这些三角函数。有了定点坐标和半径 r,我们可以初始化一个角度 a,通过 400-cos(a)*r 和 300-sin(a)*r 来分别获取圆点相对于定点在角度为 a 时刻的横纵坐标,至于匀速的问题,可以通过 setInterval()方法来处理。示例:http://shaozhuang.me/demo/yuanzhou.html 阅读全文

top k 算法

2013-10-12 00:02 by youxin, 1518 阅读, 0 推荐, 收藏,
摘要:对于一个非有序的数组A[p..r],求数组中第k小的元素。 如何考虑排序(部分排序)就不用说了。。o(nlgn),当然如果在实际情况中要一直取值,当然要排序后,一次搞定,以后都是O(1)我们这里提供了取一次最K小的一个o(n)的解法,用了快速排序的一种思想,关键在于划分只一个部分,我们知道快速排序选 阅读全文

php中strstr、strrchr、substr、stristr四个函数用法区别

2013-10-11 11:53 by youxin, 561 阅读, 0 推荐, 收藏,
摘要:php中strstr、strrchr、substr、stristr四个函数用法区别:php中strstr strrchr substr stristr这四个字符串操作函数特别让人容易混淆,常用的是substr,strstr,基本上可以满足对字符串的操作。下面介绍一下这个几个函数的区别。一,strstr和strcchr的区别strstr 显示第一次找到,要查找的字符串,以及后面的字符串。strrchr 显示最后一次找到,要查找的字符串,以及后面的字符串。";$domain = strrchr($email, '@');echo "strrchr 测试结果 $d 阅读全文

PHP5中__call、__get、__set、__clone、__sleep、__wakeup的用法

2013-10-09 21:28 by youxin, 547 阅读, 0 推荐, 收藏,
摘要:__construct(),__destruct(),__call(),__callStatic(),__get(),__set(),__isset(),__unset(),__sleep(),__wakeup(),__toString(),__invoke(),__set_state()和__clone()等方法在 PHP 中被称为"魔术方法"(Magic methods)。在命名自己的类方法时不能使用这些方法名,除非是想使用其魔术功能。PHP4中已经有了重载的语法来建立对于外部对象模型的映射,就像Java和COM那样. PHP5带来了强大的面向对象重载,允许程序员建立自 阅读全文

MyISAM InnoDB 区别

2013-10-09 14:14 by youxin, 3983 阅读, 0 推荐, 收藏,
摘要:http://www.php100.com/html/webkaifa/database/Mysql/2011/0326/7789.html InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣, 视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比 InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。 以下是一些细节和具体实现的差别: ◆1.InnoDB不支持FULLTEXT类型的索引。 ◆2.InnoDB 中不... 阅读全文

Mozilla推荐的CSS书写顺序

2013-10-07 22:09 by youxin, 387 阅读, 0 推荐, 收藏,
摘要://显示属性displaylist-stylepositionfloatclear//自身属性widthheightmarginpaddingborderbackground//文本属性colorfonttext-decorationtext-alignvertical-alignwhite-spaceother textcontent源文件在这里:Mozilla suggested css order内容如下:/* mozilla.org Base Styles * maintained by fantasai * (classes defined in the Markup Guide - 阅读全文

转:Javascript异步编程的4种方法

2013-10-07 21:32 by youxin, 361 阅读, 0 推荐, 收藏,
摘要:你可能知道,Javascript语言的执行环境是"单线程"(single thread)。所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(假死),往往就是因为某一段Javascript代码长时间运行(比如死循环),导致整个页面卡在这个地方,其他任务无法执行。为了解决这个问题,Javascript语言将任务的执行模式分成两种:同步(Syn 阅读全文
上一页 1 ··· 120 121 122 123 124 125 126 127 128 ··· 269 下一页