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

2016-02-19 09:04 5 1 收藏

今天图老师小编给大家介绍下用javascript实现给出的盒子的序列是否可连为一矩型,平时喜欢用javascript实现给出的盒子的序列是否可连为一矩型的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - Web开发 】

点击在新窗口中浏览此图片
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;iarray.length;i++)
if(array[i]-array[i-1]==1)
c++;
else
break;
if(array.length%(c+1)!=0)return false;
for(var i=1;iarray.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;iarr.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

来源:http://www.tulaoshi.com/n/20160219/1589406.html

延伸阅读
标签: Web开发
function JsUBB(str)   {   var re=//[i/](.[^/[]*)/[//i/]/gi;   str=str.replace(re,"i$1/i"); //斜体字   re=//[b/](.[^/[]*)/[//b/]/gi;   str=str.replace(re,"b$1/b"); //粗体字   re=//[u/](.[^/[]*)/[//u/]/gi;   str=str.replace(...
内容提要:本文以简单的例子介绍在Visual C++编程中数据读写的基本方法和可序列化类的实现,并简单介绍了Visual C++中序列化的使用。 数据读写是应用程序中必不可少的一部分,Visual C++中数据的读写当然也十分重要,因此VisualC++在MFC中对数据的读写创造了十分好的支持,这使得我们可以十分方便的实现我们对数据读写操作的需要。 ...
标签: Web开发
不太像,而且比较耗资原,不知道有没有更好的办法=.= 火焰 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
标签: Web开发
汉字简繁转换_把你需要转换的内容粘贴在下面的输入框,然后点击按钮即可 汉字简繁转换 把你需要转换的内容粘贴在下面的输入框,然后点击按钮即可 请把你需要转换的内容粘贴在这里!   [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
标签: Web开发
代码文件: using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Threading; namespace AjaxTest {   &nb...

经验教程

969

收藏

24
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部