用javascript实现给出的盒子的序列是否可连为一矩型
2018-10-12 14:01
316 查看
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>
相关文章推荐
- 用javascript实现给出的盒子的序列是否可连为一矩型
- [JavaScript]使用JavaScript+CSS实现注册页面中检验两次密码输入是否相同
- javascript判断两个IP地址是否在同一个网段的实现思路
- JavaScript是否可实现多线程 深入理解JavaScript定时机制
- 判断某序列是否为另一个序列的出栈序列 C++实现
- javascript是否真的就不能实现跨站请求呢?
- [javascript] js中判断对象是否为空的三种实现方法
- 经典面试题:求数组的最大子序列和;实现函数 :判断一个自负喜欢是否是另一个字符串旋转所得;杨氏矩阵中查找一个数。
- javascript检查浏览器是否支持flash的实现代码
- JavaScript判断远程图片是否存在,加载完成:onerror 属性- & jQuery实现(如果因为网络或图片的原因发生异常,则显示该图片)~
- 用 javascript 实现 ping 一个主机,仅测试是否能够连接。
- Javascript判断对象是否相等实现代码
- 用Javascript检查Adobe PDF插件是否安装的实现代码
- 子序列求和最大值之javascript实现
- 用javascript实现检测指定目录是否存在的方法 原创
- 根据栈的压入序列判断弹出序列是否正确(模板实现)
- 实现控制WebView组件是否支持JavaScript
- 计算一个点是否在多边形里 JavaScript实现(未测试)