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

时间:2023-09-09 22:34:02 

用javascript实现给出的盒子的序列是否可连为一矩型
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实现给出的盒子的序列是否可连为一矩型
0
投稿

猜你喜欢

  • Python进程通信之匿名管道实例讲解

    2021-08-26 16:23:46
  • python学生信息管理系统实现代码

    2023-10-31 06:18:10
  • Python Pandas基础操作详解

    2022-02-18 11:17:07
  • JavaScript实现时钟滴答声效果

    2024-04-16 10:38:19
  • Python中空格的转义字符方式

    2021-07-02 01:22:33
  • Python中使用MELIAE分析程序内存占用实例

    2021-10-26 22:34:24
  • 防止网上重复投票的方法

    2009-06-01 12:31:00
  • css学习笔记:DIV水平垂直居中

    2009-06-19 12:45:00
  • Python3.6+selenium2.53.6自动化测试_读取excel文件的方法

    2023-04-03 18:41:41
  • SQL 特殊语句(学习笔记)

    2012-06-06 19:51:33
  • 记录无法安装mysql-Invalid GPG Key from file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql的解决办法

    2024-01-13 00:24:22
  • Python的for和break循环结构中使用else语句的技巧

    2022-07-02 16:59:26
  • php二分查找二种实现示例

    2023-11-21 00:40:13
  • Python实现滑雪小游戏

    2023-08-10 15:30:03
  • 最适合人工智能开发的5种编程语言 附人工智能入门书籍

    2023-06-02 03:15:18
  • python实现巡检系统(solaris)示例

    2022-03-01 20:32:11
  • asp如何生成XML数据

    2007-08-20 09:50:00
  • python 工具类之Queue组件详解用法

    2023-08-05 23:59:10
  • 利用MySQL主从配置实现读写分离减轻数据库压力

    2024-01-18 10:35:07
  • OverFlow – 一个秘密武器

    2010-09-25 12:51:00
  • asp之家 网络编程 m.aspxhome.com