我正面临一个问题,我必须使用A*来搜索地图,并且此地图中有多个目标可供使用.我的目标是扩展地图中的最少节点,任何关于如何为这个A*算法设计启发式的想法?谢谢
我是html和JavaScript的新手,我正在编写一个处理坐标系中点和线的程序,但是你知道html5的画布原点位于上角,我想用它构建一个坐标系.原点在画布的中心,我尝试了翻译方法,并使用以下方法打印鼠标所在的位置(理想情况下,当鼠标位于画布的中心时,我希望它显示0:0),但它似乎不起作用:
var mousePos = getMousePos(canvas1, evt);
mouseX = mousePos.x;
mouseY = mousePos.y;
var message = 'Mouse position: ' + mousePos.x + ',' + mousePos.y;
writeMessage(document.getElementById("canvas_prime_coor"), message);
function writeMessage(canvas, message) {
var context = canvas.getContext('2d');
context.clearRect(0, 0, canvas.width, canvas.height);
context.font = '18pt Calibri';
context.fillStyle = 'red';
context.fillText(message, 10, 25);
}
function getMousePos(canvas, evt) {
var rect = canvas.getBoundingClientRect();
return {
x: evt.clientX - rect.left,
y: evt.clientY - rect.top};
}
Run Code Online (Sandbox Code Playgroud) 我有一个这样的字典:
var dic = [NSDate: Int]()
Run Code Online (Sandbox Code Playgroud)
它在我的iOS待办事项应用程序中用于获取特定日期的已完成任务的数量.我只关心NSDate中的年,月和日部分,并希望能够使用这个字典获得特定日期的任务数量,我该怎么做?谢谢.
由于公司的防火墙问题,我无法使用此处提供的更新站点链接安装groovy插件,是否有针对此问题的解决方法?谢谢.
几天前我接受过编程访问,我需要在Perl中编写一段代码,并在标题中描述功能,过了一段时间,我想出了以下解决方案:
sub startWithUppercaseLetter {
return @_[0] =~ m/^[A-Z]/;
}
Run Code Online (Sandbox Code Playgroud)
面试官似乎对这个解决方案不满意,任何人都可以给出更好的解决方案吗?谢谢
我是 HTML5 和 JavaScript 的新手,我知道有很多库可以做到这一点,但我想知道是否有办法只使用普通的 javascript 来做到这一点。
我有一个画布,当在某个地方点击画布时,用户点击的地方会出现一个小红点。我想让每个小点都可以拖动,有什么想法吗?谢谢。
这是我的代码:
在 HTML 中:
<div id="primal_plane" style="position:absolute; top:100px; left:10px;">
<canvas id="canvas_prime" onclick="drawDot('canvas_prime')" width="700" height="500"></canvas>
</div>
Run Code Online (Sandbox Code Playgroud)
在JS文件中:
function drawDot(plane) {
var canvas = document.getElementById(plane);
var context = canvas.getContext("2d");
context.beginPath();
context.arc(mouseX * 50, mouseY * 50, 4, 0, 2 * Math.PI, false);
context.fillStyle = 'green';
context.fill();
context.lineWidth = 1;
context.strokeStyle = 'yellow';
context.stroke();
}
Run Code Online (Sandbox Code Playgroud) 我最近正在阅读Robert Sedgewick 所着的名为Algorithms的书.我在阅读"算法分析"时遇到了一段代码.代码如下:
public static int count(int a[]) {
int N = a.length;
int cnt = 0;
for (int i = 0; i < N; i++) {
for (int j = i + 1; j < N; j++) {
for (int k = j + 1; k < N; k++) {
if (a[i] + a[j] + a[k] == 0) { //here
cnt++;
}
}
}
}
return cnt
}
Run Code Online (Sandbox Code Playgroud)
我想知道的是-loop中if-statement for执行了多少次.这本书提供的答案是N(N-1)(N-2)/6.但我不知道为什么,任何人都可以解释.
当我使用选择器时,如果我编码如下,一切正常:
if ([self respondsToSelector:@selector(placeToDownWithPos: shipSize:)]) {
NSLog(@"respondsToSelector");
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用下面的代码时,'if语句将为false':
SEL selector = NSSelectorFromString(@"placeToDownWithPos: shipSize:");
if ([self respondsToSelector:selector]) {
NSLog(@"respondsToSelector");
}
Run Code Online (Sandbox Code Playgroud)
这里有什么问题,以及如何解决这个问题?谢谢!
我知道JavaScript中继承的概念是通过原型链,但我不确定我理解它是对的.当读取属性时,引擎将首先搜索实例自己的属性,如果未找到则将搜索实例的[[Prototype]]属性,该属性是对创建实例的函数原型的引用,搜索将继续进行,直到达到Object.prototype.对于以下代码:
var person1 = {
name: "Qiushi",
sayName: function() {
console.log(this.name);
}
};
person1.sayName(); // Qiushi
var person2 = Object.create(person1);
person2.name = "Alex";
console.log(person2.hasOwnProperty("sayName")); // false
person2.sayName(); // Alex
Run Code Online (Sandbox Code Playgroud)
当person2继承自person1时,person2可以使用person1中定义的方法.但是sayName方法不是person1原型的属性,而是它只是它自己的属性.我的问题是,搜索方法是单独跟随原型链,person2如何使用不在此链中的方法?
-------------------------------最终编辑----------------- --------
如果您对此问题有同样的疑虑,请阅读我和Jimbo之间的对话.
javascript ×3
algorithm ×2
canvas ×2
html ×2
a-star ×1
eclipse ×1
gradle ×1
groovy ×1
heuristics ×1
html5 ×1
inheritance ×1
ios ×1
java ×1
objective-c ×1
perl ×1
prototype ×1
regex ×1
swift ×1