小编pho*_*sis的帖子

当网格图中有多个目标时,如何设计A*的启发式算法?

我正面临一个问题,我必须使用A*来搜索地图,并且此地图中有多个目标可供使用.我的目标是扩展地图中的最少节点,任何关于如何为这个A*算法设计启发式的想法?谢谢

algorithm artificial-intelligence heuristics a-star

3
推荐指数
1
解决办法
587
查看次数

如何将画布的原点更改为中心?

我是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)

html javascript html5 canvas

3
推荐指数
1
解决办法
6012
查看次数

通过NSDate检查值是否存在为字典中的键

我有一个这样的字典:

var dic = [NSDate: Int]()
Run Code Online (Sandbox Code Playgroud)

它在我的iOS待办事项应用程序中用于获取特定日期的已完成任务的数量.我只关心NSDate中的年,月和日部分,并希望能够使用这个字典获得特定日期的任务数量,我该怎么做?谢谢.

ios swift

3
推荐指数
1
解决办法
891
查看次数

如何在不使用更新站点链接的情况下为eclipse安装groovy插件

由于公司的防火墙问题,我无法使用此处提供的更新站点链接安装groovy插件,是否有针对此问题的解决方法?谢谢.

eclipse groovy eclipse-plugin gradle

3
推荐指数
1
解决办法
1852
查看次数

检查给定的字符串是否以Perl中的AZ开头

几天前我接受过编程访问,我需要在Perl中编写一段代码,并在标题中描述功能,过了一段时间,我想出了以下解决方案:

sub startWithUppercaseLetter {
    return @_[0] =~ m/^[A-Z]/;
}
Run Code Online (Sandbox Code Playgroud)

面试官似乎对这个解决方案不满意,任何人都可以给出更好的解决方案吗?谢谢

regex perl

2
推荐指数
1
解决办法
8267
查看次数

如何使绘图在 HTML5 画布上可拖动

我是 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)

html javascript canvas

2
推荐指数
1
解决办法
4138
查看次数

代码的时间在Java中的嵌套for循环中执行

我最近正在阅读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.但我不知道为什么,任何人都可以解释.

java algorithm

1
推荐指数
1
解决办法
364
查看次数

NSSelectorFromString不起作用

当我使用选择器时,如果我编码如下,一切正常:

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)

这里有什么问题,以及如何解决这个问题?谢谢!

objective-c

1
推荐指数
1
解决办法
3710
查看次数

关于JavaScript中继承的难题

我知道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 inheritance prototype

1
推荐指数
1
解决办法
68
查看次数