小编Dex*_*ers的帖子

反转"if"是否会提高性能?

我一直在使用ReSharper一段时间,有时它暗示我反转了if.我想一个例子可以更好地解释我的情况:

public void myfunction(int exampleParam){
    if(exampleParam > 0){
        //Do something with form controls for example.
    }
}
Run Code Online (Sandbox Code Playgroud)

现在ReSharper建议我将其反转if为:

public void myfunction(int exampleParam){
    if(exampleParam <= 0)
        return;
    //Do something with form controls for example
}
Run Code Online (Sandbox Code Playgroud)

这会以某种方式"改善"性能吗?还是仅仅是审美?

c# resharper if-statement

147
推荐指数
0
解决办法
7842
查看次数

如何对齐两个不等大小的时间序列numpy数组?

我有两个包含时间序列(unix时间戳)的numpy数组.
想找到一对时间戳(每个数组1个),它们的差异在一个阈值内.

为了实现这一点,我需要将两个时间序列数据对齐成两个数组,这样每个索引都有最接近的对.(如果数组中的两个时间戳同样接近另一个数组中的另一个时间戳,我不介意选择任何一个,因为对的数量比实际值更重要.)

因此,对齐的数据集将具有两个相同大小的数组,另外一个较小的数组将填充空数据.

我在考虑使用timeseries包和align功能.
但我不确定如何使用对齐我的数据这是一个时间序列.

示例考虑两个时间序列数组:

ts1=np.array([ 1311242821.0, 1311242882.0, 1311244025.0, 1311244145.0, 1311251330.0, 
               1311282555.0, 1311282614.0])
ts2=np.array([ 1311226761.0, 1311227001.0, 1311257033.0, 1311257094.0, 1311281265.0])
Run Code Online (Sandbox Code Playgroud)

输出样本:

现在ts2[2] (1311257033.0),它最接近的一对应该是ts1[4] (1311251330.0)因为差异在于5703.0,threshold它是最小的,并且它是最小的.现在,ts2[2]ts1[4] 已经配对,他们应该被排除在外的其他计算.

应该找到这样的Pairs,因此Output数组可能比实际数组长

abs(ts1 [0] -ts2 [0])= 16060
abs(ts1 [0] -ts2 [1])= 15820 //对
abs(ts1 [0] -ts2 [2])= 14212
abs(ts1 [0 ] -ts2 [3])= 14273
abs(ts1 [0] -ts2 …

python time-series alignment closest-points

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

使用 C# .net 3.0 或更低版本将 pdf 转换为 tiff 而不使用 3rd 方库?

有几个 SO 帖子和谷歌搜索对我的问题没有多大帮助。所以我又来了。

我需要将 PDF 转换为单个 tiff 图像(显然是多页 tiff)。我已经弄清楚了 tiff 创建部分。但问题在于从 pdf 中提取图像/位图。当然,c# .net 没有这些功能,但应该有办法做到这一点。

关于为什么我不想使用第三方库,因为它们不是免费的 - 有些可能是,但出于安全原因,它可能无法在所有环境中使用。不仅仅是好奇如何做到这一点,而且在某些帖子中,这个问题被视为一种罪过:)。

任何适当的方法/想法或从哪里开始都会有所帮助。我更喜欢基于 WPF 的解决方案而不是基于 GDI+ 的解决方案,因为我在 Windows 服务器上看到了 GDI+ tiff 创建解决方案的问题。我认为创建 pdf 更困难,当然我可以理解它是否应该已经在 .net 中容易。

编辑:同样对于初学者来说,包含简单格式的 pdf 会很好。没有必要它应该支持每种类型的pdf。

c# pdf wpf tiff

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

将循环图转换为非循环图

我想将循环图转换为非循环图。有没有可以做到这一点的伪代码?我确实尝试过搜索,但大多数都返回了基于马尔可夫链或研究文章的数学位置。

我想编写一个程序来做到这一点,任何方向都会有用。例如考虑下图。

A->B
B->C
C->A
Run Code Online (Sandbox Code Playgroud)

我在麻省理工学院的一次讲座中看到了一个解决方案,但该讲座参考了之前教过的内容而略读了一遍,无法理解。简而言之,它以某种方式复制层中的节点,即最终图表示DAG但传达相同的路径信息。

[见 46:59]

https://www.youtube.com/watch?v=OQ5jsbhAv_M

编辑:

我想对一个循环图问题应用动态规划,例如)说最短路径问题Delta(S,D) where S-> Source node and D->Destination node。由于循环图上的 DP 是无限算法,我们首先需要将循环图转换为无环图,然后对其应用动态规划技术。

algorithm cyclic directed-acyclic-graphs

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

python difflib.get_close_matches()函数如何工作?

以下是两个数组:

import difflib
import scipy
import numpy

a1=numpy.array(['198.129.254.73','134.55.221.58','134.55.219.121','134.55.41.41','198.124.252.101'], dtype='|S15')
b1=numpy.array(['198.124.252.102','134.55.41.41','134.55.219.121','134.55.219.137','134.55.220.45', '198.124.252.130'],dtype='|S15')

difflib.get_close_matches(a1[-1],b1,2)
Run Code Online (Sandbox Code Playgroud)

输出:

['198.124.252.130', '198.124.252.102']
Run Code Online (Sandbox Code Playgroud)

不应该'198.124.252.102'是最接近的匹配'198.124.252.101'

我查看了他们已经指定了一些浮动类型权重的文档,但没有关于算法使用的信息.

我需要找出最后两个八位位组之间的绝对差值是否为1(假设前三个八位位组相同).

所以我首先找到最接近的字符串然后检查上述条件的最接近的字符串.

有没有其他功能或方法来实现这一目标?另外get_close_matches()表现如何?

ipaddr 似乎对ips没有这样的操纵.

python string ip difflib

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

Bitmap.Save参数无效

Bitmap.Save(location,coded,parameters)用来保存tiff图像的第一帧:使用的编码方案是Tiff格式.我然后使用saveadd()等等.就像win 7 64 bit上的魅力一样,但不适用于32位或更旧的Windows版本.

在研究之后,我发现可能是由于tiff图像编码与GDI +之前的处理不同.

有没有办法克服这个没有任何重大变化?

资料来源:

参数无效调用Bitmap.Save()

http://social.msdn.microsoft.com/Forums/fi-FI/netfxbcl/thread/1585c562-f7a9-4cfd-9674-6855ffaa8653

c# encoding gdi+ tiff bitmap

6
推荐指数
2
解决办法
8311
查看次数

O(n log m) vs O(n+m) - 哪个更好?

嗨,这个时间复杂度哪个更好。

O(n log m) 对比 O(n + m)

分析这两种算法,哪一种更适合大规模使用?

例如)如果 n 和 m 呈指数级大,则变为

O(2e) 对比 O(e*(something linear to e))

示例问题: 2 个数组中的公共元素:

1) 2 指针方法

2) 使用二分查找

algorithm time-complexity

6
推荐指数
2
解决办法
6309
查看次数

我可以根据matlab中的值建立渐变色表吗?

24x2在matlab中有一个矩阵.我需要在表格中表示这些数据,但也要确保每个行都根据第二列的值在颜色的各种色调(如热图)上着色.

是否有可以渲染此类表格的matlab函数?或者是否有任何其他语言或工具可以支持这样的设施?

matlab gradient heatmap

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

补丁与合并补丁哪个合适?

尝试查看哪些模型最适合api(低更新,但对象结构可能经常更改,高读取应用程序)

我有这样的资源

  1. 史诗(id、名称、描述、开始日期、结束日期、状态、 故事
  2. 故事(ID、名称、描述、开始日期、结束日期、状态、任务
  3. 任务(id、名称、描述、开始日期、解决日期、解决方案)

如果我只需要支持这些更新,

  1. 更新史诗名称或描述或日期或状态
  2. 更新故事名称或描述或日期或状态
  3. 更新任务名称或描述或日期或状态

这有道理吗?

PATCHapplication/merge-patch+json RFC 7396

资源应该匹配目标对象结构

  1. 史诗/{id}
  2. 史诗/{id1}/stories/{id2} .. 等等

PATCHwithapplication/json -我倾向于选择这个,因为没有必要如此严格地执行RFC 7396和灵活地更新更新规则。

您要更新的自定义规则(但从技术上讲 - 我可以只发送需要更新的资源属性类似于application/merge-patch+json

  1. 史诗/{id}
  2. 史诗/{id1}/stories/{id2} .. 等等

PUTapplication/json

资源应匹配所有字段并创建新对象并替换(或作弊并仅像在补丁中一样更新)

  1. 史诗/{id}
  2. 史诗/{id1}/stories/{id2} .. 等等

PUTapplication/json

或作弊,只像在补丁中一样更新,但使用 put

  1. 史诗/{id}
  2. 史诗/{id1}/stories/{id2} .. 等等

java rest http jax-rs http-patch

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

使用perl md5比较两个文件

我想运行一个代码,如果文件存在则继续检查文件是否退出,然后检查文件的MD5与之前的MD5.如果有一些变化,那么它会执行一些代码.但是每次我为同一个文件调用hexdigest时,perl MD%似乎都在变化.MD5每次都会改变吗?

我最初有

$md5 = Digest::MD5->new; 
Run Code Online (Sandbox Code Playgroud)

之前 while(1)

如果不是这样做,还有什么可以实现我的意图吗?谢谢

while(1)
{
    if(!(-e $config_file)){
            next;
    }else{
            $md5 = Digest::MD5->new;
            $md5->addpath($config_file);
            print "<->";
            print $md5->hexdigest;

            $value=($digest eq $md5->hexdigest ? 1 : 0);
            if($value==1)
            {
                    next;
            }else
            {
                    $digest=$md5->hexdigest;
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

perl md5 file-comparison

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