小编Jak*_*ake的帖子

在寻找最短路径时,广度优先搜索如何工作?

我做了一些研究,我似乎错过了这个算法的一小部分.我明白了一个广度优先搜索是如何工作的,但我不明白它究竟是如何让我到一个特定的路径,而不是仅仅告诉我,每个单独的节点可以走了.我想解释我困惑的最简单方法是提供一个例子:

例如,假设我有一个这样的图形:

在此输入图像描述

我的目标是从A到E(所有边缘都没有加权).

我从A开始,因为那是我的起源.我排队A,然后立即将A排队并探索它.这产生B和D,因为A连接到B和D.因此我将B和D排队.

我将B排队并探索它,并发现它导致A(已经探索过)和C,所以我排队C.然后我排队D,并发现它导致E,我的目标.然后我将C排队,并发现它也导致E,我的目标.

我逻辑上知道最快的路径是A-> D-> E,但我不确定广度优先搜索有多精确 - 我应该如何记录路径,这样当我完成时,我可以分析结果并查看最短的路径是A-> D-> E?

另外,请注意我实际上并没有使用树,因此没有"父"节点,只有子节点.

java breadth-first-search shortest-path

114
推荐指数
5
解决办法
13万
查看次数

强制谷歌Recaptcha挑战

是否可以在浏览器中设置一些标志,以便始终获得RECAPTHCA图像挑战?有时当你点击"我不是一个机器人"按钮时,它会给你一个弹出式挑战,例如"点击包含汽车的所有图像",但有时它只是勾选方框并接受你的话事实上,你不是一个机器人.

我想在桌面和移动设备上测试我的工具的UI,并确保弹出的挑战显示并与页面的其他元素进行良好的交互.

换句话说,作为一名开发人员,我希望 Google认为我是一个机器人,因此它总能给我带来视觉挑战.

有没有办法强迫这种行为?

注意:我做了一些研究,但无法找到任何可能产生答案的相关问题或博客文章.

recaptcha

18
推荐指数
4
解决办法
6083
查看次数

Visual Studio Code - 隐藏 Git 更改

好像找不到这块VSCode界面的名字来关掉。你可以看到下面的图片:

VSCode 接口

我想隐藏行号旁边的彩色 git 信息。单击不同的区域会显示对文件所做的更改 - 删除、新代码或修改现有代码。

我试过谷歌搜索“VS Code git changes bar”和“VS Code hide changes”,但我似乎无法找到此功能/界面组件的名称以将其关闭。

visual-studio-code

8
推荐指数
0
解决办法
2551
查看次数

C#Outlook加载项阵列从1开始?

我一直在撞墙上25分钟,试图找出为什么我无法访问数组的'第一个'索引,我试图用数组[0].我不断得到一个超出界限的数组索引.只是为了看看会发生什么,我尝试使用数组[1] ......并且它有效.完美.我不知道为什么.

for (int i = 1; i < itemCounter+1; i++)
{
     if (explorer.CurrentFolder.Items[i] is Outlook.MailItem)
     { //Do something }
}
Run Code Online (Sandbox Code Playgroud)

整件事情很好.这里发生了什么?

c# outlook outlook-addin

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

C#中的简单线程

可能重复:
C#捕获的变量循环

我正在研究几个简单的线程应用程序,但我似乎无法让它工作:

class ThreadTest
{
    static Queue<Thread> threadQueue = new Queue<Thread>();

    static void Main()
    {
        //Create and enqueue threads
        for (int x = 0; x < 2; x++)
        {
            threadQueue.Enqueue(new Thread(() => WriteNumber(x)));
        }

        while(threadQueue.Count != 0)
        {
            Thread temp = threadQueue.Dequeue();
            temp.Start();
        }

        Console.Read();
    }

    static void WriteNumber(int number)
    {
        for (int i = 0; i < 1000; i++)
        {
            Console.Write(number);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

目标基本上是逐个向队列添加线程,然后逐个遍历队列并弹出一个线程并执行它.因为我的for循环中有"x <2",它应该只生成两个线程 - 一个运行WriteNumber(0),另一个运行WriteNumber(1),这意味着我应该以1000 0和我的屏幕上的1000 1是不同的顺序,具体取决于线程的最终执行方式.

我最终得到的是2000 2.我提出的两个可能的解决方案是:我错过了一些明显的东西,或者将变量x发送到WriteNumber函数正在执行pass-by-reference而不是pass-by-value,所以当线程执行它们使用最新版本的x而不是设置函数时的版本.但是,据我所知,变量在C#中默认按值传递,如果在参数中包含"ref",则仅通过引用传递.

c# multithreading

5
推荐指数
2
解决办法
455
查看次数

用 PHP 创建简单的 Google 日历事件

我有一段时间试图使用 Google 日历 API 将一个非常简单的事件添加到日历中,如果有人能指出我的(可能很明显的)问题,我会很高兴的。我正在使用我在这里找到的代码。我已经把代码放在“google-api-php-client/examples.calendar”目录下,在那里可以找到一个简单的例子。

<?php
require_once '../../src/Google_Client.php';
require_once '../../src/contrib/Google_CalendarService.php';
session_start();


    $client = new Google_Client();
        $client->setApplicationName("Google Calendar PHP Starter Application");
        $client->setClientId('');
        $client->setClientSecret('');
        $client->setRedirectUri('worked.html'); //I made a file called "worked.html" in the same directory that just says "it worked!"
        $client->setDeveloperKey('SecretLongDeveloperKey');
        $cal = new Google_CalendarService($client);

if (isset($_GET['logout'])) {
    unset($_SESSION['token']);
}

if (isset($_GET['code'])) {
    $client->authenticate($_GET['code']);
    $_SESSION['token'] = $client->getAccessToken();
    header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
}

if (isset($_SESSION['token'])) {
    $client->setAccessToken($_SESSION['token']);
}

$authUrl = $client->createAuthUrl();

 if (!$client->getAccessToken()){

    $event = new Google_Event();

        $event->setSummary('Halloween');
        $event->setLocation('The …
Run Code Online (Sandbox Code Playgroud)

php google-calendar-api google-api google-api-php-client

5
推荐指数
1
解决办法
4万
查看次数

CSS:不规则网格布局

我正在尝试使用CSS创建不规则的网格布局.到目前为止,这是我的Jfiddle:

http://jsfiddle.net/F94gu/1/

码:

HTML:

<div style="width:275px;">
     <div class="box" id="box1"></div>
     <div class="box" id="box2"></div>
     <div class="box" id="box4"></div>
     <div class="box" id="box5"></div>
     <div class="box" id="box3"></div>
     <div class="box" id="box6"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.box { margin: 2px; float:left; }
#box1 { height: 86px; width:  80px; background-color: red;}
#box2 { height: 42px; width:  161px; background-color: green;}
#box3 { height: 42px; width:  80px; background-color: blue;}
#box4 { height: 86px; width:  80px; background-color: orange;}
#box5 { height: 129px; width: 80px; background-color: yellow;}
#box6 { height: 42px; width:  161px; background-color: brown;} …
Run Code Online (Sandbox Code Playgroud)

html css

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

简单的JSZip-从现有图像创建Zip文件

我很难找到不涉及Base64或NodeJS的JSZip简单文档。基本上,我有一个目录,其中是test.html和一个名为“ images”的文件夹。在该文件夹内是一堆图像。我想从该文件夹中创建一个zip文件。

有人可以帮我一些非常简单的“ hello world”类型代码吗?http://stuk.github.io/jszip/上的文档包括从Base64数据添加图像或添加在JavaScript中创建的文本文件之类的内容。我想从现有文件创建一个.zip文件。

也许唯一支持通过JSZip将图像添加到.zip文件的方法就是通过Base64数据添加图像?我没有在文档的任何地方看到它,也没有看到image-url-to-base64函数,尽管我确实在StackOverflow的其他地方找到了它。

有什么建议吗?

javascript jszip

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

结合EaselJS和TweenJS逐渐淡出

我有一个只使用EaselJS加载和显示图像的工作动画.整个动画效果很好,但图像立即出现和消失.我希望它们随着时间的推移逐渐消失.这是一个可以更好地说明问题的小jsfiddle:http://jsfiddle.net/tNLyx/

var stage = new createjs.Stage("canvas");
var shape = new createjs.Shape(new createjs.Graphics().f("#f00").dc(0,0,100)).set({x:100,y:100});
stage.addChild(shape);
stage.update();

shape.addEventListener("click", function(){
     //Shape will now disappear quickly. I would like it to fade out, by tweening its alpha or opacity or something. Any help would be greatly appreciated!
     stage.removeChild(shape);
     stage.update();
});
Run Code Online (Sandbox Code Playgroud)

当您单击红色圆圈时,它会立即消失.我希望它能慢慢消失.我做了一些研究,但我找不到好的文档 - 看来我需要的是TweenJS"姐妹"库,至少有以下一些代码:

createjs.Ticker.setFPS(30); //Sets frames-per-second for TweenJS
createjs.Tween.get(shape).to({alpha: 0},1000);
Run Code Online (Sandbox Code Playgroud)

我相信最后一行应该是我之前制作的"形状"对象,然后设置一个动画来动画它的alpha属性(我假设在添加到舞台时默认为1,但我不确定) ,并在1000毫秒内将其减少到0.代码实际上没有做任何事情 - 任何帮助将不胜感激!

html javascript animation tween easeljs

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

抓取 Outlook 加载项中当前选定的文件夹

我正在开发一个 Outlook 加载项,它可以以两种方式之一工作,具体取决于用户的选择 - 它可以处理选定的电子邮件,或者处理选定文件夹中的所有电子邮件。我已经让第一部分工作了,但第二部分给我带来了麻烦,可能是因为我只是错误地调整了第一部分的代码。我相信问题归根结底是在 C# Outlook 加载项中正确获取当前选定的文件夹。顺便说一句,我正在使用 .NET 3.5 和 Outlook 2007。

首先,电子邮件代码 - 如果用户在收件箱中选择一封或多封电子邮件,并使用“选定的电子邮件”选项运行我的加载项,则会运行以下代码(并且工作正常!):

public static void processSelectedEmails(Outlook.Explorer explorer)
{
    //Run through every selected email
    for (int i = 1; i <= explorer.Selection.Count; i++)
    //alternatively, foreach (Object selectedObject in explorer.Selection)
    {
        Object selectedObject = explorer.Selection[i];
    if (!(selectedObject is Outlook.Folder))
        {
                string errorMessage = "At least one of the items you have selected is not an email.";
                //Code for displaying the error
                return;
        }
        else
        Outlook.MailItem email = (selectedObject …
Run Code Online (Sandbox Code Playgroud)

c# outlook outlook-addin

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

使用Web Publish时,请勿复制SASS/LESS文件

通过File SystemWeb Publish设置发布Web应用程序(在我的案例中为MVC)时,大多数*.scss&*.less文件也会被部署.

如何配置Visual Studio项目以使其不部署这些文件?

.net c# visual-studio visual-studio-2013 visual-studio-2015

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

基本PHP - SQL查询中的条件连接

我遇到了一些我认为应该是一些相当简单的PHP的问题.它在WordPress中运行,但问题不应该是WordPress特定的.$ wpdb-> get_results()只是一种查询WordPress数据库而无需使用连接字符串的方法.我还使用了几个$ _GET命令.

这是我到目前为止所拥有的:

$Data = $wpdb->get_results("SELECT *
    FROM database.table
    WHERE sem.MonthNum >= " .$_GET["minMonth"]. "
    AND sem.MonthNum <= " .$_GET["maxMonth"]. "
    AND sem.Year  >= " .$_GET["minYear"]. "
    AND sem.Year <= " .$_GET["maxYear"]. ");
Run Code Online (Sandbox Code Playgroud)

只要填充$ _GET,这就有效.我想添加一种默认值,如果$ _GET为空,则设置一个数字,如果它不为空,则抓取该数字.有点......

$Data = $wpdb->get_results("SELECT *
    FROM database.table
    WHERE sem.MonthNum >= " if(!$_GET){echo 1;} else {echo ".$_GET[\"minMonth\"]. "} "
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用......可能是一些愚蠢的PHP语法错误,我不确定所有的echo语句和其他引号中的引号等等.

php

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

基本PHP - 从stdClass对象中获取数据

我有一个关于我认为必须非常容易的事情的快速问题 - 我做了一些研究,发现了一些看起来很有希望的链接,特别是这个,但是由于某些原因它对我不起作用.

无论如何,我在MySQL中创建了一个存储过程并使用MySQL Workbench进行了测试,它可以工作 - 它只是添加了num1和num2并返回结果.现在我试图让它在PHP中工作,但结果,而不是一个整数,是一个包含该整数的stdClass对象的数组.从返回大量数据的过程的角度来看,这是有道理的,但是我遇到一些麻烦只能归结为整数.

我运行这个:

   CALL database.routine(2,7)
Run Code Online (Sandbox Code Playgroud)

然后我将结果保存到$ var.当我运行print_r($ var)时,我得到:

    Array
    (
    [0] => stdClass Object
    (
    [num1+num2] => 9
    )
    )
Run Code Online (Sandbox Code Playgroud)

所以,为了通过数组部分,我特意通过运行print_r($ var [0])来询问其中的第一个元素,它让我:

    stdClass Object
    (
    [num1+num2] => 9
    )
Run Code Online (Sandbox Code Playgroud)

现在我需要深入一级...我尝试了上面链接的页面所说的并尝试进入$ var [0] - > [num1 + num2],因为该字段似乎被命名,但是不起作用.我也试过一些单引号和双引号的组合,但没有运气.如何从这个对象中获取数字9?

php mysql

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