小编fin*_*nnw的帖子

检测基频

在印度的IIT-Bombay有这个技术节,在那里他们有一个名为"Artbots"的活动,我们应该设计具有艺术能力的艺术机器人.我有一个关于音乐机器人的想法,它以歌曲作为输入,检测歌曲中的音符并在钢琴上播放.我需要一些方法来帮助我计算歌曲音符的音高.关于如何去做的任何想法/建议?

signal-processing frequency pitch-tracking detect

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

从给定日期的VSS获取所有文件?

有没有办法让Visual source安全地从项目的给定日期获取所有文件?我们不使用标签,所以我不能回滚到特定的标签,并希望我能以某种方式调用某个日期范围来获取特定日期存在的文件?不可能?

visual-sourcesafe

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

GZIP压缩为字节数组

我正在尝试编写一个可以压缩数据的类.下面的代码失败(没有抛出异常,但目标.gz文件为空.)
此外:我不想直接生成.gz文件,就像在所有示例中一样.我只想获取压缩数据,以便我可以在将数据写入文件之前对其进行加密.

如果我直接写一个文件一切正常:

import java.io.*;
import java.util.zip.*;
import java.nio.charset.*;

public class Zipper
{
  public static void main(String[] args)
  {    
    byte[] dataToCompress = "This is the test data."
      .getBytes(StandardCharsets.ISO_8859_1);

    GZIPOutputStream zipStream = null;
    FileOutputStream fileStream = null;
    try
    {
      fileStream = new FileOutputStream("C:/Users/UserName/Desktop/zip_file.gz");
      zipStream = new GZIPOutputStream(fileStream);
      zipStream.write(dataToCompress);

      fileStream.write(compressedData);
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
    finally
    {
      try{ zipStream.close(); }
        catch(Exception e){ }
      try{ fileStream.close(); }
        catch(Exception e){ }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我想"绕过"它到字节数组流,它不会产生单个字节 - compressedData总是为空.

import java.io.*;
import java.util.zip.*;
import …
Run Code Online (Sandbox Code Playgroud)

java android gzip stream

17
推荐指数
3
解决办法
5万
查看次数

正则表达式匹配不是特定子字符串的东西

我正在寻找一个匹配字符串的正则表达式,该字符串以一个子字符串开头,并且不以某个子字符串结尾.

例:

// Updated to be correct, thanks @Apocalisp
^foo.*(?<!bar)$
Run Code Online (Sandbox Code Playgroud)

应匹配任何以"foo"开头并且不以"bar"结尾的内容.我知道[^ ...]语法,但我找不到任何能为字符串而不是单个字符做的事情.

我特意尝试为Java的正则表达式做这个,但我已经遇到过这个问题,所以其他正则表达式引擎的答案也会很棒.

感谢@Kibbee验证这也适用于C#.

c# java regex regex-negation

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

什么是软编码?(反模式)

我在维基百科上找到了关于软编码反模式简洁和令人困惑的条目.什么是软编码?在什么环境下这是一种不好的做法(反模式)?此外,什么时候可以被认为是有益的,如果是的话,应该如何实施?

anti-patterns

16
推荐指数
2
解决办法
5381
查看次数

BigInteger使用多少空间?

BigInteger对象一般使用多少字节的内存?

java biginteger

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

regexp匹配string1,除非前面是string2

使用Ruby,我如何使用单个正则表达式来匹配"xy y ay xy + y"中出现的前缀为x(y,ay,+ y)的所有'y'?
/ [^ x] y /匹配前面的字符,所以我需要一个替代...

ruby regex string regex-negation

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

.NET相当于Java的Integer.bitCount?

是否有类似于Java的方法Integer.bitCount(int)Long.bitCount(long).NET Framework中的任何位置?

(对于那些不熟悉这些Java方法的人),这也称为:

  • 汉明重量
  • 人口数量(通常POPCNT在硬件中实现时调用.)

虽然 很多 实现 ,以 发现在网络上,我在想,如果有一个标准库的实现.

我知道这不在BitArray,UInt32或者BitConverter,但也许有一个版本隐藏在某处,例如在加密功能中.

.net java bit-manipulation hammingweight

15
推荐指数
3
解决办法
1780
查看次数

哈希表针对完整迭代+密钥替换进行了优化

我有一个哈希表,其中运行时的绝大多数访问遵循以下模式之一:

  • 迭代所有键/​​值对.(此操作的速度至关重要.)
  • 修改键(即删除一个键/值对并添加另一个具有相同值但另一个键不同的键.检测重复键并在必要时组合值.)这是在一个循环中完成的,影响了数千个键,但没有其他操作介入.

我也希望它尽可能少地消耗内存.

必须提供其他标准操作,尽管使用频率较低,例如

  • 插入新的键/值对
  • 给定一个键,查找相应的值
  • 更改与现有密钥关联的值

当然,所有"标准"哈希表实现(包括大多数高级语言的标准库)都具有所有这些功能.我正在寻找的是针对第一个列表中的操作进行优化的实现.

常见实现的问题:

  • 大多数哈希表实现都使用单独的链接(即每个存储桶的链接列表.)这有效但我希望能够占用更少内存并具有更好的引用局部性的东西.注意:我的密钥很小(每个13个字节,填充到16个字节.)
  • 大多数开放式寻址方案对我的应用程序都有一个主要的缺点:键被删除并以大组替换.这留下了删除标记,增加了负载因子,需要经常重建表.

有效的方案,但不太理想:

  • 每个桶与一个数组(而不是链表)分开链接:
    引用的局部性差,因为内存碎片导致小数组重新分配多次
  • 线性探测/二次散列/双重散列(有或没有Brent的变化):
    表格快速填满删除标记
  • Cuckoo散列
    只适用于<50%的负载系数,我想要一个高LF来节省内存并加快迭代速度.

是否有专门的散列方案可以适用于这种情况?


注意:我有一个很好的哈希函数,适用于2的幂和素数表大小,并且可以用于双重哈希,所以这不应该是一个问题.

algorithm hashtable

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

Boehm GC如何为C程序工作?

我检查了Boehm GC.用于C/C++的GC.

我知道标记和扫描算法.我很好奇的是它如何只在整个C内存中获取指针.我对C内存的理解只是一个普通的字节数组.是否有可能确定内存中的值是否为指针?

c garbage-collection principles boehm-gc

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