用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>

(0)

相关推荐

  • 用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]) 

  • JavaScript实现弹出式可拖动登录框

    本文实例为大家分享了JavaScript实现弹出式可拖动登录框的具体代码,供大家参考,具体内容如下 效果图展示: 总体来说实现起来比较简单,老规矩,先搭建html框架,代码如下: <div class="login-header"><a id="link" href="javascript:;" >点击,弹出登录框</a></div>     <div id="login"

  • JavaScript实现弹出模态窗体并接受传值的方法

    本文实例讲述了JavaScript实现弹出模态窗体并接受传值的方法.分享给大家供大家参考,具体如下: function shows(zwbh){ var sUrl=window.showModalDialog('zlzx_edit.asp?xmbid=<%=Request("xmbid")%>&zlbh='+zwbh+'&typeid=<%=typeid%>','window','dialogWidth=500px;dialogHeight=24

  • JavaScript实现弹出广告功能

    废话不多说了,直接给大家贴代码了,具体代码如下所示: <span style="white-space:pre"> </span>var i=0;//记录次数 var timer;//定时器id //设置弹出广告 onload=function(){ //间隔四秒展示一次广告 timer = setInterval(showAd,4000); } //展示2秒以后隐藏广告的方法 function showAd(){ i++;//展示的次数加1 //若i等于3清空

  • JavaScript检测弹出窗口是否已经关闭的方法

    本文实例讲述了JavaScript检测弹出窗口是否已经关闭的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: var win = window.open('foo.html','windowName',"width=200,height=200,scrollbars=no"); var timer = setInterval(function() {       if(win.closed) {          clearInterval(timer);     

  • JavaScript制作弹出层效果

    先给大家展示下效果图,效果图如下所示: 1.引用相关easyui.min.js,easyui-lang-zh_CN.js 等js 文件: 2.前台代码 <input type="text" id="txt_Type" style="display:none" /> <div class="macFormItem" id="divSQXLH" runat="server"

  • 使用JavaScript实现弹出层效果的简单实例

    声明 阅读本文需要有一定的HTML.CSS和JavaScript基础 设计 实现弹出层效果的思路非常简单:将待显示的内容先隐藏,在触发某种条件后(如点击按钮),将原本隐藏的内容显示出来. 实现 <!DOCTYPE html> <html> <head> <title>Window对象</title> <meta charset="utf-8"> </head> <body> <a hr

  • JavaScript实现弹出DIV层同时页面背景渐变成半透明效果

    本文实例讲述了JavaScript实现弹出DIV层同时页面背景渐变成半透明效果.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml&

  • JavaScript实现弹出窗口效果

    本文实例为大家分享了JavaScript实现弹出窗口的具体代码,供大家参考,具体内容如下 思路 1.总体使用两个div,一个作为底层展示,一个做为弹出窗口: 2.两个窗口独立进行CSS设计,通过display属性进行设置现实与隐藏,此处建议使用display属性而不是visibility属性,visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间,影响布局: 3.在js内设计两个onclick事件,分别指定函数,分别为开启弹窗和关闭弹窗. 一.设置两个di

  • 前端JavaScript算法找出只出现一次的数字

    目录 题目:只出现一次的数字 解法一:用 map 来解: 解法二:用 异或 解 题目:只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1]输出: 1 示例 2: 输入: [4,1,2,1,2]输出: 4 解: 第一个反应用 map 来解,时间复杂度 O(n),是线性的,满足题意,只不过空间复杂度消耗是 O(n),怎样降低

随机推荐