我得到了一个类似这样的功课:
您将获得一个由四种颜色的像素组成的图像.颜色对应于地形,敌人,盟友和墙壁.可以在任何坐标(一对整数)处放下炸弹.你也得到了:
r
- 炸弹的效果半径(以像素为单位,正整数)e
- 杀死敌人的点数a
- 杀死盟友的点数(例如
r = 10
,e = 1
,a = -2
)当炸弹落下时,半径(欧几里德距离)内的所有敌人和盟友都会被杀死,除非他们和炸弹之间有一堵墙(即连接士兵和炸弹的非抗锯齿线穿过墙壁).当炸弹落在墙上时,这个特定像素就像普通地形一样.墙的其余部分仍然是墙.
你的得分是0开始.找到你应该丢弃一颗炸弹以获得最佳分数的坐标.如果有多个最佳解决方案,请返回其中任何一个.
这是一个示例图像裁剪,调整大小并改变颜色以提高可读性:
我可以在这里找到原始图像.
我知道强行解决这个问题是一个可怕的解决方案.我想出了如何在没有墙壁的情况下快速解决问题.这是一些伪代码:
args Map, R, A, E
for (every Soldier)
create a Heightmap with dimensions of Map
zero-fill the Heightmap
on the Heightmap draw a filled circle of value 1 around Soldier with radius R
if (Soldier is Ally)
multiply Heightmap by A
else
multiply Heightmap by E
add all …
Run Code Online (Sandbox Code Playgroud) 我知道什么是序列化以及为什么使用它,但我的问题是:
writeObject
,readObject
因为当我们进行序列化时,我们最终会覆盖这两种方法?如何readResolve
确保在反序列化期间创建的对象不是新对象.我知道下面的内容,它在反序列化过程中返回相同的对象,但是谁会在readResolve
内部调用此方法?
private Object readResolve() throws java.io.ObjectStreamException {
return INSTANCE;
}
Run Code Online (Sandbox Code Playgroud)我正在尝试为32位操作系统安装jdk.按照以下步骤,
wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" http://download.oracle.com/otn-pub/java/jdk/6u38-b05/jdk-6u38-linux-i586.bin
chmod u+x jdk-6u34-linux-i586.bin
./jdk-6u34-linux-i586.bin
mkdir -p /usr/lib/jvm /usr/bin/java /usr/bin/javac /usr/bin/javaws
mv jdk1.6.0_3.
/ usr/lib中/ JVM /`
update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.6.0_38/bin/java" 1
update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.6.0_38/bin/javac" 1
update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jre1.6.0_38/bin/javaws" 1
但是在运行cmd 6时,我遇到了错误.任何帮助,将不胜感激.
update-alternatives: warning: forcing reinstallation of alternative /usr/lib/jvm/jdk1.6.0_38/bin/java because link group java is broken.
update-alternatives: warning: not replacing /usr/bin/java with a link.
update-alternatives: warning: forcing reinstallation of alternative /usr/lib/jvm/jdk1.6.0_38/bin/javac because link group javac is broken.
update-alternatives: warning: not …
Run Code Online (Sandbox Code Playgroud) 我正在使用Elasticsearch为图书编制索引,以使用FTS进行搜索。要求之一是我必须显示包含匹配的页面数。
我最初计划在索引字符串中包含页面分隔符,然后在对突出显示的单词之前的页面分隔符进行搜索和计数时获得高亮显示。再次考虑,我担心性能问题。某些书籍的大小上限为500 KB。计算听起来很长的字符串听起来是个坏主意。比较匹配单词的偏移量和页面分隔符的偏移量会更好。据我了解,with_positions_offsets
导致ES存储这些偏移量,因此理想情况下,我希望它为我完成这项工作。
可以在ES中完成吗?在书的哪一页上找到匹配的替代解决方案是什么?
我试过在SO找到了多个解决方案,但我显然失去了一些东西作为不管什么我尝试,我不能让粒子视图来改变表单提交的(或点击按钮)的基础.
这是代码:
propertyControllers.controller('HomeCtrl', ['$scope', 'SearchData', '$location',
function($scope, SearchData, $routeParams, $location) {
SearchData.set('postcode', $scope.postcode);
SearchData.set('radius', $scope.radius);
SearchData.set('minBeds', $scope.minBeds);
SearchData.set('minPrice', $scope.minPrice);
$scope.submit = function() {
$location.path('/properties');
}
}]);
Run Code Online (Sandbox Code Playgroud)
并在home.html
部分
<input type="submit" class="topcoat-button--cta" value="Search">
Run Code Online (Sandbox Code Playgroud)
我的路由配置
var propertyApp = angular.module('propertyApp', [
'ngResource',
'ngRoute',
'propertyControllers'
]);
propertyApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/home', {
templateUrl: 'partials/home.html',
controller: 'HomeCtrl'
}).
when('/properties', {
templateUrl: 'partials/property-list.html',
controller: 'PropertyListCtrl'
}).
when('/properties/:propertyId', {
templateUrl: 'partials/property-detail.html',
controller: 'PropertyDetailCtrl'
}).
otherwise({
redirectTo: 'home'
});
}]);
Run Code Online (Sandbox Code Playgroud)
有人能指出我正确的方向吗?文档似乎过于复杂,我发现的所有简单例子都做我正在做的事情......
我发现了这个问题,原始代码中的一件事让我感到困惑:
>>> x="Alpha_beta_Gamma"
>>> words = [y for y in x.split('_')]
Run Code Online (Sandbox Code Playgroud)
这样做有什么意义[y for y in x.split('_')]
?split
已经返回一个列表,并且在此列表理解中不会操纵项目.我错过了什么吗?
我的应用程序有一个简单的插件API.它打包在一个单独的JAR中,插件开发人员可以使用它.核心应用程序实现API中包含的接口,并将它们暴露给加载的插件ServiceLoader
.
考虑以下代码:
public interface ILayer {}
public class Layer implements ILayer {
public void internalMethod() { /*snip*/ }
}
public interface IPlotter {
List<ILayer> getLayers();
}
public class Plotter implements IPlotter {
private ObservableList<Layer> layers = FXCollections.observableArrayList();
@Override
public ObservableList<Layer> getLayers() { // incompatible returned type
return layers;
}
}
Run Code Online (Sandbox Code Playgroud)
我的要求是:
ObservableList
的Layer
s是可用List
的ILayer
小号不幸的是,铸造ObservableList<Layer>
到List<ILayer>
是违法的.
List<Layer>
在API中返回会暴露internalMethod()
出来Layer
,所以这没有用.
我也可以private ObservableList<ILayer> layers
,然后实际存储Layer …