我在思考如何定位图表的中心点时遇到了一些困难;也就是说,图上的一个节点可以最小化到所有其他节点的最大距离。
例如:
假设我有一个包含 3 个节点的图,排列成一条线(如1-2-3)。
显然,很容易看出该图的中心点是2。我该如何着手实施类似的事情呢?
我知道的唯一算法是 BFS/DFS/Prim's/ 和 Kruskal's。Prim 和 Kruskal 的算法并不真正适用于这种情况。我想我这里需要使用BFS吗?唯一的问题是,BFS 是否会根据您从哪个节点开始返回不同的顺序?
我在一个页面上有两个表单,它们的声明如下:
form_for @student, {remote:true, format: 'json'} do |f|
和
form_for @teacher, {remote:true, format: 'json'} do |f|
但是,当我单击表单的提交按钮时teacher,它会出错,显示该请求的“CRSF 令牌无效”。对表格的请求student工作正常。
我已经<%= csrf_meta_tags %>进入主application.html.erb文件,并且teacher表单在提交中确实有一个 CSRF 令牌。我不是在做 API,我只是希望通过 AJAX 处理表单(我做了一些客户端错误处理和确认)。
我的服务器的 PHP echo 函数有问题。
由于某种原因,每次我调用“echo”时,无论什么 echo 都会在其前面留下六七个额外的空格,从而导致如下所示:
echo "hello world" //ends up like:
hello world //instead of:
hello world
Run Code Online (Sandbox Code Playgroud)
对发生的事情有什么想法吗?
它发生在我的整个服务器上(奇怪的是,昨天它工作正常。我没有触及 php 设置或任何东西)
这只是显示此错误的脚本示例:
将 URI 发布到数据库
require_once("../../m/includes/globals.php");
$user = DB_Login($_POST["username"], $_POST["password"]);
$uri = mysql_escape_string($_POST["uri"]);
$userID = $user['userID'];
$result = DB_ExecuteQuery("UPDATE driver SET windowsPhoneID = '$uri' WHERE userID = '$userID'" );
if ($result === FALSE) {
echo "error occurred during updating";
}
echo "success!";
Run Code Online (Sandbox Code Playgroud) 我的System.Threading.Timer(有一个回调)永远不会可靠地触发.这是我的编程任务的一部分,我输入计时器应该从文本框运行的时间量.
计时器声明如下:
System.Threading.Timer timer = new System.Threading.Timer(WorkerObject.callback, null, delay, Timeout.Infinite);
Run Code Online (Sandbox Code Playgroud)
而延迟只是int描述第一次触发回调的延迟(它只能触发一次).
回调方法是这样的:
public static void callback(Object stateinfo)
{
stop = true;
}
Run Code Online (Sandbox Code Playgroud)
所有这一切都设置了一个标志为true,它停止循环(由ThreadPool上的线程运行,实际上,停止线程).
循环看起来像这样:
while (!stop)
{
currentTextbox.Invoke(new Action(delegate()
{
currentTextbox.AppendText((counter++) + Environment.NewLine);
currentTextbox.Update();
}));
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,stop对于超过5000毫秒的任何延迟,变量总是为假.有没有办法"强迫"回调始终开火?
我试图在我的c ++程序中包含文件,但我一直遇到错误:
ShapeVisitor.h:9:28: error: ‘Circle’ has not been declared
我认为问题在于类的结构方式,它导致循环依赖.我该如何解决这个问题?
类标题如下......
//Circle.h
#ifndef CIRCLE_H
#define CIRCLE_H
// headers, ...
#include "Shape.h"
class Circle: public Shape {
//class declaration
}
#endif
//Shape.h
#ifndef SHAPE_H
#define SHAPE_H
// headers, ...
#include <iostream>
class Shape {
//a certain method in the class declaration looks like this
virtual void accept(ShapeVisitor& v) = 0;
//rest of class
}
#endif
//ShapeVisitor.h
#ifndef SHAPEVISITOR_H
#define SHAPEVISITOR_H
#include "Circle.h"
class ShapeVisitor {
//a method in the class looks …Run Code Online (Sandbox Code Playgroud) 我有一个常见的颜色对话框,我想在菜单按下时激活.不幸的是,每次按下该项目时,窗口都会失去焦点,就好像会出现一个对话框,但对话框永远不会显示出来.
我现在使用的代码如下:
case ID_TOOL_CHOOSECOLOR:
//show colour dialog
ChooseColor(&cc);
Run Code Online (Sandbox Code Playgroud)
我已经初始化了我的CHOOSECOLOR结构,如下所示:
cc.lStructSize = sizeof (CHOOSECOLOR) ;
cc.hwndOwner = NULL ;
cc.hInstance = NULL ;
cc.rgbResult = RGB (0x80, 0x80, 0x80) ;
cc.lpCustColors = crCustColor ;
cc.Flags = CC_RGBINIT | CC_FULLOPEN ;
cc.lCustData = 0 ;
cc.lpfnHook = NULL ;
cc.lpTemplateName = NULL ;
Run Code Online (Sandbox Code Playgroud)
奇怪的是,只有在按下"ALT"键(并且只有alt键)后,对话框才会出现.有小费吗?
顺便说一下,我正试图在MDI文档中这样做.
谢谢
我不知道为什么以下mySQL查询不断给我以下错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'http://some.url' at line 2
Run Code Online (Sandbox Code Playgroud)
SQL查询本身是这样的:
DB_ExecuteQuery("UPDATE driver
SET windowsPhoneID = $uri
WHERE userID = $userID");
Run Code Online (Sandbox Code Playgroud)
$ userID只是表的主键,只是一个VARCHAR.我不知道为什么$ uri部分无效.WindowsPhoneID应该存储为TEXT,因此没有任何不匹配的类型或类似的东西.
有什么指针吗?