CodeCombat最后一题GridMancer
http://codecombat.com/play/level/gridmancer
刚开始没看懂,题目,后来才慢慢看懂的,
题目要求,用最少的矩形框填充空白的地方
var grid = this.getNavGrid().grid;
var tileSize = 4;
for(var y = 0; y + tileSize < grid.length; y += tileSize) {//控制行y=0,是最下面一行
for(var x = 0; x + tileSize < grid[0].length; x += tileSize) {//遍历y行的所有列
var occupied = grid[y][x].length > 0;//判断y行x列,是否被占用[length为0或1,0表示未填充]
if(!occupied) {
this.addRect(x + tileSize / 2, y + tileSize / 2, tileSize, tileSize);
this.wait(); // Hover over the timeline to help debug!
}
}
}
上面是题目提供的原始代码,可以将所有的空白地砖填充,但是一共用了176个方块。
测试代码如下,可以手动填充
this.addRect(6,6,12,12);
this.addRect(14,12,4,24);
this.addRect(18,26,4,12);
this.addRect(26,22,12,4);
this.addRect(30,10,4,20);
填充效果如下

从左向右,一个是五个矩形,对应上面的5行测试代码
CodeCombat最后一题GridMancer的更多相关文章
- java基础集合经典训练题
第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...
- 【Java每日一题】20170106
20170105问题解析请点击今日问题下方的"[Java每日一题]20170106"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170105
20170104问题解析请点击今日问题下方的"[Java每日一题]20170105"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170104
20170103问题解析请点击今日问题下方的"[Java每日一题]20170104"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170103
20161230问题解析请点击今日问题下方的"[Java每日一题]20170103"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- SQL面试笔试经典题(Part 1)
本文是在Cat Qi的原贴的基础之上,经本人逐题分别在MySql数据库中实现的笔记,持续更新... 参考原贴:http://www.cnblogs.com/qixuejia/p/3637735.htm ...
- 刷LeetCode的正确姿势——第1、125题
最近刷LeetCode比较频繁,就购买了官方的参考电子书 (CleanCodeHandbook),里面有题目的解析和范例源代码,可以省去非常多寻找免费经验分享内容和整理这些资料的时间.惊喜的是,里面的 ...
- AWS的SysOps认证考试样题解析
刚考过了AWS的developer认证,顺手做了一下SysOps的样题.以下是题目和答案. When working with Amazon RDS, by default AWS is respon ...
- AWS开发人员认证考试样题解析
最近在准备AWS的开发人员考试认证.所以特意做了一下考试样题.每道题尽量给出了文档出处以及解析. Which of the following statements about SQS is true ...
随机推荐
- VMware Pro v14.0.0 官方版本及激活密钥
热门虚拟机软件VMware Workstation Pro 14.0 全新版本发布,此次更新了诸多客户机操作系统版本,另外完全兼容Wind10创建者更新支持.12.0之后属于大型更新,专门为Win10 ...
- 使用免费的Let's Encrypt通配符证书 升级我们的网站
Let's Encrypt通配符证书的官方启用日期:2018年3月13日 也就是说,2018年3月13日之后,我们就可以使用Let's Encrypt通配符证书了,当然是免费的. Let's Encr ...
- [LeetCode] 437. Path Sum III_ Easy tag: DFS
You are given a binary tree in which each node contains an integer value. Find the number of paths t ...
- [LeetCode] 628. Maximum Product of Three Numbers_Easy
Given an integer array, find three numbers whose product is maximum and output the maximum product. ...
- Vue.Js加入bootstrap及jquery,或加入其他插件vue-resource,vuex等
.引入jquery 项目目录下输入 cnpm install jquery --save-dev 用npm下载jq依赖 若想加入其他js库,如vue-resource,执行命令cnpm in ...
- liferay增删改简单小练习
liferay简单增删改 大家都知道,我们每学习一项技能的时候,都会做一些简单的小实例,来检验我们学习成果,这个也不例外. 我建议大家学习完三大框架之后再来看这个demo. 首先:先说一下,零碎的知识 ...
- C/S模型之TCP协议
服务端: // WSASever.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <WinSock2.h> # ...
- Bootstrap3-文字样式
Bootstrap将全局font-size设置为14px,line-height为1.428.这些属性直接赋给<body>和所有段落元素.另外,<p>(段落)还被设置了等于1/ ...
- LR和SVM的相同和不同
之前一篇博客中介绍了Logistics Regression的理论原理:http://www.cnblogs.com/bentuwuying/p/6616680.html. 在大大小小的面试过程中,经 ...
- 排序-----插入排序(python版)
直接插入排序的算法思路: (1) 设置监视哨r[0],将待插入纪录的值赋值给r[0]: (2) 设置开始查找的位置j: (3) 在数组中进行搜索,搜索中将第j个纪录后移,直至r[0].key≥r[j] ...