问题列表 - 第39028页

检索STL映射键

有没有办法(除了存储密钥作为值的一部分并迭代地图)从STL地图检索密钥,multimap(hash_map)a lal key(%hash)?

c++ stl

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

在线性时间内计算集合的模式(最常见元素)?

在Skiena的"算法设计手册"一书中,计算一组的模式(最常见的元素),据说有一个Ω(n log n)下界(这让我很困惑),但也(正确的我猜)没有更快的最坏情况算法用于计算模式.我只是被下限Ω(n log n)困惑了.

请参阅Google图书上的图书页面

但是在某些情况下,这肯定可以在线性时间(最好的情况)中计算,例如通过下面的Java代码(找到字符串中最常见的字符),"技巧"是使用哈希表计算出现的事件.这似乎很明显.

那么,在我对这个问题的理解中,我错过了什么?

编辑:(神秘解决)正如StriplingWarrior指出的那样,如果仅使用比较,则下限成立,即没有内存索引,另请参阅:http://en.wikipedia.org/wiki/Element_distinctness_problem

// Linear time
char computeMode(String input) {
  // initialize currentMode to first char
  char[] chars = input.toCharArray();
  char currentMode = chars[0];
  int currentModeCount = 0;
  HashMap<Character, Integer> counts = new HashMap<Character, Integer>();
  for(char character : chars) {
    int count = putget(counts, character); // occurences so far
    // test whether character should be the new currentMode
    if(count > currentModeCount) { …
Run Code Online (Sandbox Code Playgroud)

algorithm mode manual

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

集群与覆盖指数

请考虑SQL Server 2008中的下表:

LanguageCode  varchar(10)
Language      nvarchar(50)
Run Code Online (Sandbox Code Playgroud)

LanguageCode参与关系,因此我无法创建包含两列(LanguageCode,Language)的主键索引.

如果我在LanguageCode上放置一个主群集密钥,当然我不能在索引中包含语言(覆盖索引).这意味着我将不得不为Language创建第二个索引,或者冒着在其中包含重复项的风险(加上强制执行表扫描以检索其值).

此外,MS的文档(以及该主题的专家)表明理想情况下表应具有聚簇索引.

在这种情况下,非聚集覆盖索引(LanguageCode,Language)不仅可以确保语言是唯一的,而且可以避免表扫描.但是,没有"理想的"聚集索引.

这种没有聚集索引的情况实际上是理想的吗?

根据反馈进行修改:

我希望运行的唯一查询是:

SELECT Language, LanguageCode FROM Languages where Language="EN"
Run Code Online (Sandbox Code Playgroud)

sql-server indexing database-design

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

Java的BlockingQueue设计问题

方法java.util.concurrent.BlockingQueue.add(E e)的JavaDoc读取:

布尔加法(E e)

如果可以在不违反容量限制的情况下立即执行此操作,则将指定的元素插入此队列,成功时返回true,如果当前没有可用空间则抛出IllegalStateException.使用容量限制队列时,通常最好使用offer.

我的问题是:它会不会返回虚假?如果没有,为什么这个方法返回一个布尔值?这对我来说似乎很奇怪.这背后的设计决策是什么?

谢谢你的知识!
曼努埃尔

java blockingqueue

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

匹配xa?b?c的正则表达式?但不是单独的x

我正在尝试写一个匹配xa?b?c的正则表达式?但不是x.实际上,'x','a','b'和'c'不是单个字符,它们是中等复杂的子表达式,所以我试图避免像x这样的东西(abc | ab | ac | bc | A | b | C).是否有一种简单的方法可以在正则表达式中匹配"a,b和c中的至少一个,按顺序",还是我运气不好?

regex

11
推荐指数
3
解决办法
1033
查看次数

在多个Access数据库中使用集中式VBA模块

我已经负责在内部网上传播的50多个Access数据库(.mdb和.accdb的各种版本),我需要为几乎所有这些添加一些VBA函数(完全相同的代码).我希望它可以通过从每个数据库创建一个引用到集中式VBA模块来实现,因为我真的希望能够在每个数据库中自动复制的情况下进行更改.如果中央数据库中的任何其他引用可以保持不变,那么这也是一个奖励,所以我也不必单独管理它们.

我对VBA编程很陌生(虽然我多年来一直是一个PHP垃圾),并且一直很难找到正确的词来搜索这个特定的问题.我认为(从我到目前为止所读到的内容)我可能需要Visual Studio来编译DLL来引用,但是如果可能的话,我想保持一切简单并包含在Access中,特别是因为我们没有VS执照.

谢谢,任何指针将非常感谢!

ms-access vba access-vba

10
推荐指数
3
解决办法
9244
查看次数

当我循环播放UILabel时,如何向UILabel显示字符?

我有一个方法在一个单独的线程上执行循环.由于适用于我的程序的原因,我将此方法称为,

[self performSelectorInBackground:@selector(myMethod:) withObject:arg];
Run Code Online (Sandbox Code Playgroud)

而实际的方法,

- (void)myMethod:(NSString *)arg {
    NSAutoreleasePool *pool = [NSAutoreleasePool new];
    for (int i = 0; i < [arg length]; i++) {

    unichar ch = [arg characterAtIndex:i];
    NSLog(@"Processing character %c",ch);

    NSString *currentChar = [[NSString alloc] initWithFormat:@"%c", ch];
    viewController.outputLabel.text = currentChar;
    [currentChar release];


    switch (ch) {
    //Do my stuff
    }

    [pool release];

}
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,只有处理过的最后一个字符会显示在我的UILabel中,但是当我在运行程序时检查我的控制台时,正在处理字符时,它们会逐个显示到控制台(使用NSLog) ).这正是我希望在我的标签中看到的行为.

另外我应该告诉你,每次我处理一个字符(在switch语句中)都会有一点延迟,因为我[NSThread sleepForTimeInterval:delayTime];至少要调用几次.

iphone cocoa-touch ios

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

适用于 Android 手机的 .net 应用程序

可能的重复:
Google Android 会支持 .NET 吗?

您好,我在谷歌上搜索了很多关于如何为 Android 手机(例如 LG Optimus GT540)创建 dot net 应用程序的信息,但没有找到相关信息。我的问题是,是否可以为 Android 手机创建 dot net 应用程序?如果是,任何人都可以向我解释创建此类应用程序并将其部署到手机上的正确方法。

感谢您分享您的宝贵时间。

c# asp.net android

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

135
推荐指数
7
解决办法
15万
查看次数

如何使用 xquery 替换属性的值

我有一个xml文档如下

<users>
  <user test="oldvalue">
   <userid>sony</userid>
   <name>vijay</name>
  </user>
</users>
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个 xquery 来 1) 找到具有给定 userid 的用户 - sony 2) 将给定用户的“test”属性的值更改为“newvalue”。

我正在尝试以下操作:(其中 doc_name = xml 文档的名称,userid = sony)

declare variable $doc_name as xs:string external;
declare variable $userid as xs:string external;
let $users_doc := doc($doc_name)/users

let $old := $users_doc/user[userid=$userid]/@test="oldvalue"
let $new := $users_doc/user[userid=$userid]/@test="newvalue"

return replace node $old with $new
Run Code Online (Sandbox Code Playgroud)

我看到以下错误: [XUTY0008] 预期作为替换目标的单个元素、文本、属性、注释或 pi。

我该如何解决?

xquery xquery-update

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