当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 用javascript实现给出的盒子的序列是否可连为一矩型

Javascript
实现表格中行点击时的渐扩效果!
多图展示滑动过渡效果
弹出自适应图片大小的窗口弹出窗口根据图片大小,自动判断高和宽。
拖动Html元素集合 Drag and Drop any item
脚本吧 - 幻宇工作室用到js,超强推荐base.js
使用透明叠加法美化文件上传界面
JavaScript高级程序设计
对象的类型:本地对象(1)
如何实现表格中行点击时的渐扩效果!
使用button标签,实现三态图片按钮
根据分辩率调用不同的CSS.
Web版彷 Visual Studio 2003 颜色选择器
JS中简单的实现像C#中using功能(有源码下载)
js之WEB开发调试利器:Firebug 下载
jQuery中文入门指南,翻译加实例,jQuery的起点教程
jQuery 1.0.4 - New Wave Javascript(js源文件)
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
换肤测试程序js脚本
xWin之JS版(2-26更新)
共享自己写一个框架DreamScript

Javascript 中的 用javascript实现给出的盒子的序列是否可连为一矩型


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 272 ::
收藏到网摘: n/a

点击在新窗口中浏览此图片
by cpglkg
<script>
var arr=[5,10,15];

function rect(arr,width)
{
arr.sort(function(a,b){return a-b;});
var len = arr.length;
var temp = arr[0];
var w = null;
var h = null;
for(var i = 0; i < len; i++)
{
if((temp + i) != arr[i])
{
w = i;
if (len % w != 0)
return false;
h = len/w;
break;
}
}
var r = width - w;
temp += r;
for(var i = w; i < len; i++)
{
if(arr[i] != temp + i)
{
temp += r;
if(arr[i] != temp + i)
{
return false;
}
}
}
return true;
}
alert(rect(arr,6));
</script>

by 无殇
<script>
var rows=6;
function ch(array){
array=array.sort(function(a,b){return a-b;})
var n,c=0;
for(var i=1;i<array.length;i++)
if(array[i]-array[i-1]==1)
c++;
else
break;
if(array.length%(c+1)!=0)return false;
for(var i=1;i<array.length;i++)
{
n=array[i]-array[i-1];
if(n!=1 && n+c!=rows)
return false;
}
return true;
}
alert(ch([1,2,3]))
alert(ch([5,6,11,12,17,18,23,24]))
alert(ch([19,25,31]))
alert(ch([1,2,3,4,7,8]))
</script>

by 秦皇也爱JS
<script>
var arr = [5,10,15];
var width = 6;
arr = arr.sort(function(a,b){ return a-b});
var row = Math.ceil((arr[arr.length-1]-arr[0]+1)/width);
var col = Math.floor(arr.length / row);
check();
function check(){
for(var i=0;i<arr.length-1;i++){
if(arr[i+1] - arr[i] !=1 && i%col!=col-1 || i%col==col-1 && arr[i+1] - arr[i] != width-col+1){
alert(false);
return;
}
}
alert(true);
}
</script>