问题列表 - 第25664页

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

过去在面试时检查我的字谜代码

以前作为一个面试问题,并且在基本语法上窒息得太厉害,我没能推进(一旦肾上腺素开始,编码就会消失.)

给定一个字符串列表,返回一组字符串列表,这些字符串是输入集的字谜.即"狗","上帝","foo"应该返回{"dog","god"}.之后,我自己创建了代码作为一个完整性检查,它现在已经存在了一段时间.我欢迎对它进行输入,看看我是否遗漏了任何东西,或者我是否可以更有效地完成任务.把它当作改善自己和学习其他技巧的机会:


void Anagram::doWork(list input, list> &output)
{
  typedef list < pair < string, string>> SortType;
  SortType sortedInput;
// sort each string and pair it with the original for(list< string >::iterator i = input.begin(); i != input.end(); ++i) { string tempString(*i); std::sort(tempString.begin(), tempString.end()); sortedInput.push_back(make_pair(*i, tempString)); }
// Now step through the new sorted list for(SortType::iterator i = sortedInput.begin(); i != sortedInput.end();) { set< string > newSet;
// Assume (hope) we have a match and pre-add the first. newSet.insert(i->first);
// Set …
Run Code Online (Sandbox Code Playgroud)

c++ anagram

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

如何为B2B Web应用程序设置Lucene/Solr?

鉴于:

  • 每个客户1个数据库(商业客户)
  • 5000个客户
  • 客户有2到2000个用户(平均约100个用户/客户端)
  • 每个数据库有10万到1000万条记录
  • 用户需要经常搜索这些记录(这是导航数据的最佳方式)

可能相关的信息:

  • 每周有几个新客户(工作时间内的任何时间)
  • 多个Web服务器和数据库服务器(用户可以通过任何Web服务器登录)
  • 让我们对语言或sql品牌保持不可知,因为Lucene(和Solr)有广泛的支持

例如:

Joel Spolsky在播客#11中表示,他的托管网络应用产品FogBugz On-Demand使用Lucene.他有成千上万的按需客户.每个客户都有自己的数据库.

他们为每个客户端使用一个索引并将其存储在客户端的数据库中.我不确定细节.而且我不确定这对Lucene来说是否是一个严肃的模式.

问题:

您将如何设置Lucene搜索,以便每个客户端只能在其数据库中进行搜索?

你会如何设置索引?
你在哪里存储索引?
您是否需要为所有搜索查询添加过滤器?
如果客户取消了,您将如何删除其(部分)索引?(这可能是微不足道的 - 还不确定)

可能的解决方案:

为每个客户端(数据库)创建索引

  • Pro:搜索速度更快(比一个索引所有方法).指数与客户数据的大小有关.
  • Con:我不确定这是什么,也不知道这是否超出了Lucene的范围.

拥有一个带有database_name字段的巨大索引.始终包含database_name作为过滤器.

  • 亲:不确定.也许有利于技术支持或计费部门搜索所有数据库的信息.
  • Con:搜索速度较慢(比每个客户端的索引方法).删除查询过滤器时存在缺陷安全性.

最后一件事:
我也接受使用Solr(Lucene的扩展)的答案.也许它更适合这个问题.不确定.

lucene solr full-text-search b2b full-text-indexing

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

单个对象参数的奇异方法名称,列表的复数?

我在为数据库应用程序命名方法时遇到问题.

在我的Database实例中,我有一个方法可以Agreement从数据库中删除一个对象.但是,我希望能够Agreement一次删除多个s,以便能够使用事务.问题是我也有一个重载删除单个Agreement对象.

基本上,我的结构是这样的:

public class Database
{
    // ...

    public void RemoveAgreement(Agreement a)
    {
        // ...
    }

    public void RemoveAgreement(IEnumerable<Agreement> agreements)
    {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

但这可能令人困惑,因为Agreements 列表的重载具有单数名称,尽管本身就是复数.

我的问题是,我应该如何构建这个?我应该有两个带名称的重载RemoveAgreement(),或者RemoveAgreements()?或者我应该使用两种不同的方法,而不是重载?

谢谢.

.net c#

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

为什么带有JOIN的Grails/HQL查询会返回域类对的列表?

我无法弄清楚如何在Groovy/Grails中进行"连接"以及我得到的返回值

person = User.get(user.id)
def latestPhotosForUser = PhotoOwner.findAll(
  "FROM PhotoOwner AS a, PhotoStorage AS b WHERE (a.owner=:person AND a.photo = b)", 
  [person:person], [max:3])
Run Code Online (Sandbox Code Playgroud)

latestPhotosForUser不是PhotoOwners的列表.这是[PhotoOwner,PhotoStorage]对的列表.由于我正在做一个PhotoOwner.findAll,我原本希望看到只有PhotoOwners.

我做错了什么,或者这是正确的行为?

grails join hql

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

如何在鼠标悬停时显示隐藏的div?

如何显示一组隐藏的div onmouseover?

例如 :

<div id="div1">Div 1 Content</div>
<div id="div2">Div 2 Content</div>
<div id="div3">Div 3 Content</div>
Run Code Online (Sandbox Code Playgroud)

所有div都需要在onmouseover事件中显示.

html javascript css jquery mouseover

23
推荐指数
3
解决办法
20万
查看次数

用于C++ 2D GameEngine的Chipmunk Physics或Box2D?

我正在开发它正在变成一个"跨平台"的2D游戏引擎,我的初始平台目标是iPhone OS,但可以转移到Android甚至某些控制台,如PSP或任天堂DS,我想保留我的选择打开.

我的引擎是用C++开发的,并且已经阅读了很多关于Box2D和Chipmunk的内容,但我还是无法决定使用哪一个作为我的物理中间件.

Chipmunk似乎很容易嵌入,Box2D似乎被广泛使用.Chipmunk是C,而Box2D是C++,但我听说Box2D的API比chipmunk的API差得多.

现在我将使用引擎形状创建和碰撞检测功能来处理不规则多​​边形(非凹形).

我重视:

1) Good API's
2) Easy to integrate.
3) Portability.
Run Code Online (Sandbox Code Playgroud)

当然,如果你发现其他任何事情,我很乐意听到.

您认为哪一种更适合我的需求?

编辑:我最后写了一篇关于我的特定选择的文章,你可以在这里找到它

c++ iphone physics game-engine

11
推荐指数
2
解决办法
3444
查看次数

如何使用python抓取javascript生成的html?

我想刮掉javascript生成的html,就像你在Firebug中看到的一样.

更新:我发现这篇文章:http://blog.motane.lu/2009/07/07/downloading-a-pages-content-with-python-and-webkit/ 使用PyQt来解决问题适合我.

但另一个问题出现了:我必须首先登录网站,但我不知道如何在PyQt中模拟登录...... :(

python

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

从 curl 的输出中提取模式

我想在命令行上使用 curl 来获取一个 url,将其通过管道传输到一个模式,然后返回一个与该模式匹配的 url 列表。

我遇到了模式贪婪方面的问题,似乎无法解决它。对此的任何帮助将不胜感激。

curl http://www.reddit.com/r/pics/ | grep -ioE "http://imgur\.com/.+(jpg|jpeg|gif|png)"
Run Code Online (Sandbox Code Playgroud)

因此,从 url 获取数据,它返回一堆 html,可能需要以某种方式替换一些换行符,除非正则表达式可以在一行中返回多个模式。模式非常简单,任何匹配的字符串......

  • http://imgur.com/开头
  • 有 AZ az 0-9(可能还有其他一些),到目前为止,5 个字符长,如果我想限制模式的那个方面,8 个字符应该永远覆盖它,我不这样做
  • 以 .graphic_file_format_extention 结尾(jpg、jpeg、gif、png)

就是这样,在那个 url 上,使用默认设置,我通常应该得到一组好的图像。我不会反对在同一页面上使用 RSS 感觉 url,实际上它可能更容易解析。

谢谢大家!

编辑 感谢您的快速回答,我现在的最终命令是:

$curl -s http://www.reddit.com/r/pics/ | grep -ioE "http:\/\/imgur\.com\/.{1,10}\.(jpg|jpeg|gif|png)"
Run Code Online (Sandbox Code Playgroud)

regex curl

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

使用shared_ptrs时返回引用

假设我有一个相当大的类Matrix,我已经重载operator==以检查是否相等如下:

bool operator==(Matrix &a, Matrix &b);
Run Code Online (Sandbox Code Playgroud)

当然,我通过引用传递Matrix对象,因为它们太大了.

现在我有一个Matrix::inverse()返回新Matrix对象的方法.现在我想在比较中直接使用逆,如下所示:

if (a.inverse()==b) { ... }`
Run Code Online (Sandbox Code Playgroud)

问题是,这意味着inverse方法需要返回对Matrix对象的引用.两个问题:

  1. 由于我只是在这次比较中使用该引用,这是内存泄漏吗?

  2. 如果在inverse()方法中返回的对象属于boost :: shared_ptr,会发生什么?方法退出后,shared_ptr将被销毁,对象不再有效.有没有办法返回对属于shared_ptr的对象的引用?

c++ boost reference shared-ptr

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