N王后问题,是一个科学谜题,指的是在把N个王后放到N*N的棋盘上,结果是任何王后之间都不会彼此威胁。换句话说,每个后继的王后既不能与前面的王后在同一行、同一列,也不能位于同一对角线上。N王后问题给出了Python代码。下面是JavaScript代码,但结果有些误差,不知何故。
- function conflict(state,posX) {
- var posY = state.length;
- for (var i=0;i<posY ;i++ )
- {
- var differ = Math.abs(state[i]-posX);
- if (differ == 0 || differ == (posY - i))
- {
- return true;
- }
- }
- return false;
- }
- function queens(num,state,solutions){
- for (var x=0;x<num ;x++ )
- {
- if (!conflict(state,x))
- {
- if (state.length == (num-1))
- {
- solutions.unshift(x);
- return true;
- }
- var result = queens(num,state.concat(x),solutions);
- if (result)
- {
- if (state.length==0)
- {
- solutions.unshift(x);
- continue;
- }
- solutions.unshift(x);
- return true;
- }
- }
- }
- }
用法如下:
- var result = [];
- queens(4,[],result);
- console.log(result);// [3, 1, 0, 2, 2, 0, 3, 1, 1, 3, 0, 2, 0, 3, 1, 2]
在使用JavaScript框架开发时使用CDN
2009年01月17日 Web开发
所谓CDN(Content Delivery Network,内容分发网络),就是一组Web服务器的集合,其中的服务器分布于不同的地点,从而能够就近将内容更有效地分发给用户。有关使用CDN的优点可以参考“构建高性能网站的14条法则:使用CDN”。
Google:
<script type=”text/javascript” src=”http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js” mce_src=”http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js”></script>
AOL:
<script type=”text/javascript” src=”http://o.aolcdn.com/dojo/1.2/dojo/dojo.xd.js” mce_src=”http://o.aolcdn.com/dojo/1.2/dojo/dojo.xd.js”></script>
Google:
<script type=”text/javascript” src=”http://ajax.googleapis.com/ajax/libs/dojo/1.2/dojo/dojo.xd.js” mce_src=”http://ajax.googleapis.com/ajax/libs/dojo/1.2/dojo/dojo.xd.js”></script>
- ExtJS(注:通过自定义构建生成个性化的版本)
CacheFly:
<script type=”text/javascript” src=”http://extjs.cachefly.net/builds/ext-cdn-19.js”></script>
<link rel=”stylesheet” type=”text/css” href=”http://extjs.cachefly.net/ext-2.2/resources/css/ext-all.css” />
?
- The Yahoo! User Interface Library (YUI)——估计用不着,呵呵



本博客专注于Web前后端技术和技术翻译。目前正在翻译《JavaScript高级程序设计(第2版)》。新浪微博(t.sina.com.cn/lisf),Twitter(@cncuckoo,仅仅用于跟踪国外牛人;我翻不了墙,无法接受各位朋友的follow,抱歉!)