问题列表 - 第6960页

找到列表中元素的最佳位置

我有按特定顺序填充的List集合(要求是,此顺序无法更改).此列表包含实体类型对象.

在列表的初始填充之后,我需要插入更多来自另一个数据源的对象.需要将这些对象插入特定位置,以便排序正确.

例如,如果初始列表具有以下元素

  1. AAA
  2. AAB
  3. AAC
  4. ACC
  5. ADA

初始填充后我想插入"ABB"元素,需要插入3到4之间.

目前,我有以下方法为新元素找到正确的位置.

    private static int FindPositionForArticle(string word)        
    {
        string key = word.ToLower();
        for (int i = word.Length; i >= 0; i--)
        {
            if(i < word.Length)
                key = key.Remove(i, 1);

            int pos = 0;
            int insertPos = 0;
            foreach(ArticleEntity article in list)
            {
                if(article.Text.ToLower().StartsWith(key))
                    insertPos = pos;
                else if (!article.Text.ToLower().StartsWith(key) && insertPos > 0)
                    return insertPos++;
                pos++;
            }
        }
        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

这种方法背后的目的是:

  1. 拿出需要插入的"单词",尝试找到与"单词"同名的元素的位置

  2. 如果未找到任何内容,请从"单词"中删除最后一个字符并再次搜索.

  3. 重复删除最后一个字符,直到找到最佳位置.

不幸的是我的方法有bug(实现不正确).目前我的方法表明最佳位置为0,这是完全错误的.

如果您想使用我的示例代码,您可以在以下位置下载:

http://dl.getdropbox.com/u/204110/FindPosition.cs.txt

先感谢您.

.net c# sorting algorithm list

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

在另一个域上使用RESTful Web服务的正确"Rails方式"是什么?

我想编写一个Ruby on Rails应用程序,它使用RESTful Web服务API对结果执行一些逻辑,然后在我的视图上显示该数据.例如,假设我想编写一个在search.twitter.com上搜索的程序.使用纯ruby我可能会创建以下方法:

def run(search_term='', last_id=0)
  @results = []
  url = URI.parse("http://search.twitter.com")
  res = Net::HTTP.start(url.host, url.port) do |http|
    http.get("/search.json?q=#{search_term}&since_id=#{last_id.to_s}")
  end
  @results = JSON.parse res.body
end
Run Code Online (Sandbox Code Playgroud)

我很想把这个方法作为私有方法放到我的Rails控制器中,但我的一部分认为有更好的,更"Rails"的方法来做到这一点.有最佳实践方法还是这是最好的方法?

rest ruby-on-rails

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

Rijndael和AES之间的差异

我正在调查加密算法 - 有人可以快速了解Rijndael和AES之间的差异吗?

security encryption encryption-symmetric

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

Lint for C#

C#有一个类似于lint的工具吗?我有编译器标记警告 - 作为错误,我有Stylecop,但这些只能捕获最令人震惊的错误.有没有其他必备工具(特别是像我这样的新手C#ers)指出我正在做的可能是愚蠢的事情?

.net c# code-analysis lint

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

XSLT创建新的HTML标记

如何在XSLT中创建新的HTML标记/节点?我从另一个变量中获取节点/标记名称.

xslt

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

如何仅使用逻辑运算符AND来判断数字是否是四的倍数?

我正在搞乱汇编语言编程,我很好奇我如何使用逻辑运算符AND来判断数字是否为4的倍数?

我知道如何使用"div"或"remaining"指令来完成它,但我试图用数字/字的位操作来做到这一点.

谁能指出我正确的方向?我正在使用MIP,但语言无关的答案很好.

assembly bit-manipulation

8
推荐指数
2
解决办法
6039
查看次数

如何替换Access SQL中的多个字符?

我是SQL的新手,所以希望有人可以为我拼出这个.我尝试按照"在SQL查询中替换多个字符串"的帖子,但我被卡住了.

我正在尝试做与上述发布的发起人相同的事情,但使用不同的表和不同的字段.假设ShiptoPlant表" BTST" 中的以下字段" " 有三条记录(我的表实际上有数千条记录)......

表名:BTST

   ---------------
   | ShiptoPlant |
   | ----------- |
   | Plant #1    |
   | Plant - 2   |
   | Plant/3     |
   ---------------
Run Code Online (Sandbox Code Playgroud)

这是我在SQL屏幕中输入的内容:

SELECT CASE WHEN ShipToPlant IN ("#", "-", "/") Then ""
ELSE ShipToPlant END FROM BTST;
Run Code Online (Sandbox Code Playgroud)

我一直收到消息(错误3075)...

"Syntax error (missing operator) in query expression 
'CASE WHEN ShiptoPlant IN (";","/"," ") Then "" ELSE ShipToPlant END'."
Run Code Online (Sandbox Code Playgroud)

我想对键盘上的每个字符执行此操作,但"*"由于它是通配符.

您将提供的任何帮助将不胜感激!

编辑:从评论中添加的背景信息

我收集了2008日历年度每个14家供应商的项目发票级数据.我正在尝试规范供应商提供给我们的工厂名称.

每个供应商可以通过不同的名称来呼叫工厂,例如

供应商可以调用我们的主列表上的Signode服务

Signode Service 
Signode - Service.
SignodeSvc …
Run Code Online (Sandbox Code Playgroud)

sql ms-access vba replace access-vba

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

查找重复文件并将其删除

我正在编写一个Python程序来查找和删除文件夹中的重复文件.

我有多个mp3文件副本和一些其他文件.我正在使用sh1算法.

如何找到这些重复文件并将其删除?

python file duplicates

38
推荐指数
6
解决办法
4万
查看次数

如何知道AS3中的对象是否是动态的

在Action Script 3中,您可以编写一个定义动态对象的类(MovieClip和Object是两个示例),可以在运行时修改此对象.我想知道是否有某种方式(当然是在运行时)知道某个对象是否是动态的.

PS:没有这样的东西:

function isDynamic(object) {
    try {
        object.newProperty = 'someValue'
    } catch (e) {
        return false
    }
    return true
}
Run Code Online (Sandbox Code Playgroud)

apache-flex oop flash dynamic actionscript-3

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

C#中的泛型继承?

可能重复:
为什么C#泛型不能像C++模板中那样从泛型类型参数中派生出来?

我可以

public class MyGenericClass : DL
//but i cannot do
public class MyGenericClass <T> : T
Run Code Online (Sandbox Code Playgroud)

我怎么做第二个?如果我不能那样做,我该怎么办呢

public class MyGenericClass <T> 
{
    T obj;
    //have all MyGenericClass.XYZ call obj.XYZ
}
Run Code Online (Sandbox Code Playgroud)

c# generics inheritance

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