小编lur*_*ker的帖子

关于dijkstra算法的困惑?

根据算法书Corman,Dijkstra仅适用于所有边都具有非负权重的图.这是否意味着,如果有任何具有负权重的边缘,它将不适用于整个图形?还是不计算负重量边缘?请说明哪一个是对的?

algorithm graph dijkstra shortest-path

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

将一个表记录复制到rails中

我有一个用户模型和 用户表.用户可以拥有多个电话号码,因此我有一个名为的单独模型Phone.我正在使用这个关联:

模型

User
     attr_accessible :id, :name, :screenname,:fullname,:phones_attributes
     has_many :phones,:dependent => :destroy

Phone
     attr_accessible :phone
     belongs to :users
Run Code Online (Sandbox Code Playgroud)

以上代码工作正常.管理员想要将任何用户的记录复制到user_tempphone_temp表中(我有单独的模型名为UserTempPhoneTemp).

我怎样才能做到这一点?

ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

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

Prolog - 两次列表

我正在练习prolog和所有这一切都在杀我.试着这样做:

twice([1,2,3],X).
Run Code Online (Sandbox Code Playgroud)

我想要的输出是

X = [1,1,2,2,3,3].
Run Code Online (Sandbox Code Playgroud)

这是我最近的尝试:

twice([HD|TL],[HD2|TL2]):-
    twice(TL,[HD,HD2|TL2]).

twice([],[HD|TL]).
Run Code Online (Sandbox Code Playgroud)

//新

twice([],[]).
twice([A|B],Out):- twice([A|B],[A,A|Rest],
                   twice(B,Rest).
Run Code Online (Sandbox Code Playgroud)

list prolog recursive-query

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

Prolog获得列表的频率

从事prolog任务.

我有一个结构 cnt(letter,number).

我需要返回一个列表,cnt其中每个cnt字符的出现次数(假设每个项目已经被排序以将相同的项目一个接一个地放置).

到目前为止我有这个:

cnt(letter,number).

freq([],[]).

freq([A|L],Y) :- grab(A,Init,_), freq(L,[Init|Y]).
Run Code Online (Sandbox Code Playgroud)

抓取工作正确获取项目列表并返回第一个重复项列表 Init

例如,grab([a,a,a,b,c], Init, Rest).将返回Init = [a,a,a].

假设我有一个列表,[a,a,a,b,b,b,c,c]我需要freq返回Y = [cnt(a,3), cnt(b,3), cnt(c,2)].

我认为到目前为止我所接近的是正确的,除了它返回false.

反正有没有办法看看它到底做了什么?或者任何人都可以看到任何明显的问

prolog

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

提出自定义错误/异常

我正在玩Pharo,并想提出一个自定义的错误/异常/东西,但我不知道如何.
我浏览了"Pharo by Example"和"Deep into Pharo"的相关章节(我认为); 但无法对它做出正面或反面 - 它似乎高于我需要的水平......

我有一个变量的setter,如果输入不是Integer,我想提出一个错误/异常:


    MyClass >> someVariable: anInteger
       anInteger isInteger
          ifFalse: [ self SomehowProtestLoadly - the part I don't know how to do ].
       someVariable := anInteger

只是流产或退出就足够了......但是如果可能的话,我想用更多的"耀斑"来做这件事 - 并且以更加解释的方式......

smalltalk exception-handling squeak pharo

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

Mysql - LEFT JOIN 比 INNER JOIN 快得多

我有两张桌子

表 X:数百万条记录

|-----|-----|-----|-----|
|  a  |  b  |  c  |  d  |
|-----|-----|-----|-----|
Run Code Online (Sandbox Code Playgroud)

表Y:只有几条记录

|-----|-----|
|  e  |  f  |
|-----|-----|
Run Code Online (Sandbox Code Playgroud)

X.d允许我加入两个表X.d = Y.e

我有以下索引:

  • (Xa)
  • (Xb)
  • (Xc)
  • (Xd)
  • (Xa、Xb、Xc、Xd)
  • (叶)

我们的一个应用程序正在执行以下查询,该查询需要很长时间才能运行:

SELECT * 
FROM X
INNER JOIN Y ON X.d = Y.e
WHERE 
      X.a in (1, 2, 3)
  AND X.b IS NULL
  AND X.c in (4, 5 ,6)
  AND X.d in (7, 8, 9)
Run Code Online (Sandbox Code Playgroud)

将 更改INNER JOIN为 a后LEFT JOIN,查询速度非常快:

SELECT * 
FROM …
Run Code Online (Sandbox Code Playgroud)

mysql performance inner-join left-join mariadb

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

在函数内使用 malloc() 后出现“写入访问冲突”

问题

我有二维矩阵的自定义结构。我在函数内使用此结构来初始化 2D 矩阵,其中每个元素值都设置为 0。我还有另一个函数将矩阵打印到终端(用于调试目的)。

当我在 中编写结构和函数时main.c,它们就可以工作。问题是当我将它们放在一个单独的文件中并从该文件调用它们时,我收到运行时错误:Exception thrown: write access violation

在我的程序中,我有 3 个文件:main.c, my_lib.h, my_lib.c. 结构体存储在里面my_lib.h,函数在my_lib.c. 里面main.h

我正在使用 Windows 10 并在 Visual Studio 2017 v15.9.10 中进行编码

输出

程序可以编译但出现运行时错误Exception thrown: write access violation 在此输入图像描述

编辑:

好吧,看来这件事的发生是我自己的错。

实际上,我试图在我的工作计算机上运行这段代码。我已经在我的个人计算机上编写了原始代码,其中main.c, my_lib.h&my_lib.c版本可以正常工作。然后我复制了我正在处理的文件夹并尝试在我的工作计算机上继续。我的两台电脑都运行 Windows 10 操作系统,并且都有相同版本的 VS 2017。

在我的个人计算机上,解决方案资源管理器如下所示:

在此输入图像描述

但在我的工作计算机上,解决方案打开为:

在此输入图像描述

两台计算机上的所有内容(包括文件夹层次结构)都是相同的。看来,复制项目文件夹并不是一个好主意。

当我在工作计算机上创建一个新的 C 项目并手动添加my_lib.c和时my_lib.h,一切正常。

但我仍然很好奇为什么我收到异常错误...以及如何在不创建 VS 中创建新项目的情况下纠正这个复制问题?

代码

只是 main.c (有效)

主程序

#include …
Run Code Online (Sandbox Code Playgroud)

c malloc struct exception multidimensional-array

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

Visual Studio Code 和 git:X 权限被拒绝

我有 2 个 github 帐户 X(专业帐户)和 Y(个人帐户)。

在我的个人计算机上,我使用了这两个帐户和 Visual Code。

但现在,当我尝试将一些更改推送到我的存储库时,我收到一条消息:

X 拒绝对 Y/repo.git 的权限。


这是与此重复的,但那里的答案对我不起作用。

我试过 :

git config --global user.email "email@example.com"

没用。我尝试不使用--global,但没有成功。

我也看到了这个答案,但我不知道如何“取消黑名单”文件。无论如何,我什至找不到我的.gitconfig


我失去了耐心和希望,如果有人有解决方案,我将非常感谢分享!

git permissions settings github visual-studio-code

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

Ruby浮动到Binary32

我一直在寻找是否有一种方法可以将浮点数(ex 123.456:)转换为binary32。我发现了很多从binary32到float的解决方案,反之亦然。

ruby floating-point binary

3
推荐指数
2
解决办法
1561
查看次数

HOWTO Common Lisp包(库)的定义和用法?

我已经在一些Lisp源文件中开发了一些Common Lisp函数,我希望这些函数可以轻松地用于我编写的其他函数,或者如果我认为它们对其他人有用,则可以在github上使用.现在,我刚刚将它们放在一些预先定义的文件夹中并使用(require "/path/to/my/modules/module.lisp").

我想要了解什么是正确的(规范的Lisp)方法来定义模块的Lisp库.问题的第二部分是如何使用它们(我是否定义了它们,或者我是否从其他人那里获得了它们).

我一直在阅读了很多关于defpackagedefsystemasdf.但我读过的所有内容似乎都集中在这项任务的某个特定角落.我在查看自定义模块创建,部署和使用的大局方面遇到了很多麻烦.所以假设我面前有一个Lisp环境(CLISP或SBCL)以及一个或多个.lisp文件,我想制作一个软件包或库,是否有一个文件可以解释哪些步骤需要这样做?这可能是我已经读过的东西,但由于不理解上下文而没有跟踪.我所读到的关于ASDF的内容在功能上看起来似乎是我所追求的,但我不知道ASDF是否是我唯一的选择,或者它是否恰好是事实上的标准以及大多数其他人使用的,或者随你.我在SBCL玩了一下,并且不确定我是否正确使用它,并且没有看到如何在CLISP中设置它的信息.所以我想要了解什么是这个任务的中间,香草方法.

我知道这是一个庞大,草率的子问题.再说一次,如果有一些很好的参考资料,我可以阅读.我只是在查看它应该如何工作,以及是否有任何"最佳"方法,或者在Lisp中是否有点"狂野西部"选择图书馆时遇到一些麻烦 - 管理员 - 你喜欢的方法.我做谷歌的事情并阅读任何看起来相关的东西,但我的大脑正在全力以赴.

谢谢.

lisp common-lisp asdf package quicklisp

3
推荐指数
2
解决办法
772
查看次数