草庐IT

algorithm

全部标签

c# - 查找十进制数中 n 位置的数字的最佳方法是什么?

背景我正在研究一个对称舍入类,我发现我对如何最好地找到我将舍入的位置x处的数字感到困惑。我确信有一种有效的数学方法可以找到单个数字并将其返回,而无需求助于字符串解析。问题假设,我有以下(C#)伪代码:varposition=3;varvalue=102.43587m;//Iwantthisno↑(thatis5)protectedstaticintFindNDigit(decimalvalue,intposition){//ThissnippetiswhatIamsearchingfor}此外,值得注意的是,如果我的值是整数,我将需要为FindNDigit的结果返回一个零。有没有人对我

c# - 如何在 C# 中将一组字符串分成它们的组成字符?

将字符串数组strArr中的各个字符分隔成这些字符数组charArr的最佳方法是什么,如下所示?string[]strArr={"123","456","789"};char[]chrArr={'1','2','3','4','5','6','7','8','9'};这是我目前正在做的,但我认为它不是很优雅:intcharacterCount=0;for(inti=0;i 最佳答案 嗯,最简单的方法是这样的:char[]chrArr=string.Join(string.Empty,strArr).ToCharArray();为了确

c# - 如何将 SURF 兴趣点与图像数据库匹配

我在C#(OpenSurf)中使用SURF算法从图像中获取兴趣点列表。这些兴趣点中的每一个都包含一个描述符向量、一个x坐标(int)、一个y坐标(int)、比例(float)和方向(float)。现在,我想将一个图像的兴趣点与数据库中的图像列表进行比较,该列表也有一个兴趣点列表,以找到最相似的图像。即:[Image(I.P.)]COMPARETO[ListofImages(I.P.)]。=>最佳匹配。单独比较图像会产生不令人满意的结果。在搜索stackoverflow或其他站点时,我发现的最佳解决方案是构建FLANN索引,同时跟踪兴趣点的来源。但在实现之前,我有一些让我感到困惑的问题:

c# - 使用对比度传递函数调整相机模块焦点

目前正在设计手机摄像头模组的测试程序。我正在尝试控制一个精密电机来调整相机的聚焦镜筒以获得最佳聚焦点。我一直在寻找对比度传递函数的算法,但到目前为止我能找到的只是数学公式。有没有人尝试过实现CTF? 最佳答案 是checkthisone,它对显微镜照片执行CTF 关于c#-使用对比度传递函数调整相机模块焦点,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6171693/

c# - 如何在移动设备上管理大量数据

我目前正在实现日语词典,想了解如何快速高效地查找条目的一些想法。字典条目本身被加载并存储在一个类中,该类包含日语单词(可能有多种拼写)、它们的语音发音和英语定义作为三个列表。我最初有一个树结构,每个节点代表一个单词中的一个字符。它非常快,但不幸的是使用了很多内存。定义数据本身约为35meg,树结构本身约为130meg。此外,它也只允许从日语->英语查找。内存是一个问题,因为除了需要额外的索引外,还打算存在一个WindowsPhone7版本的应用程序。该词典包含150,000个条目。总而言之,这就是我需要做的:存储定义列表此列表中有三个索引,用于日语、语音和英语含义。查找速度快(最好少于

c# - 线栅格化 : Cover all pixels, 与线渐变无关?

基本上,我想使用线性算法来确定要为我的raycaster检查哪些单元格的碰撞。Bresenham这不是很好,因为它使用统一厚度方法,这意味着它忽略了至少没有覆盖一半线的单元格。一点也不好,因为这意味着我的线的某些部分没有被检查是否与单元格相交,从而导致错误。我似乎找不到任何“粗线”算法,谁能帮我找到一个?绿:我想要什么。红色:我目前拥有的和不想要的。 最佳答案 我遇到了与您完全相同的问题,并且找到了一个非常简单的解决方案。通常,Bresenham有两个连续的if来确定是否应该增加两个维度的坐标:publicvoiddrawLine(

c# - C# 中的斐波那契、二进制或二项式堆?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion是否有任何堆数据结构实现,斐波那契、二进制或二项式?引用:这些是用于实现优先级队列的数据结构,而不是用于分配动态内存的数据结构。参见http://en.wikipedia.org/wiki/Heap_(data_structure)谢谢,戴夫

c# - 生成用户友好的字母数字 ID(如业务 ID、SKU)的选项有哪些

要求如下:必须是字母数字,8-10个字符,以便于用户使用。这些将作为唯一键存储在数据库中。我将Guid用作主键,因此最好选择使用GUId生成这些唯一ID。我正在考虑采用Guid并将其转换为8个字符的唯一字符串的base-n转换器。首选简短、轻量级的算法,因为它会被经常调用。 最佳答案 8characters-perfectlyrandom-36^8=2,821,109,907,456combinations10characters-perfectlyrandom-36^10=3,656,158,440,062,976combinat

整数数组的 C# 哈希码

我有一个内部只是整数数组的类。一旦构造数组永远不会改变。我想预先计算一个好的哈希码,以便可以非常有效地将此类用作字典中的键。数组长度小于30项左右,整数一般在-1000到1000之间。 最佳答案 不是很聪明,但足以满足大多数实际目的:编辑:由于HenkHolterman的评论而更改,谢谢。inthc=array.Length;foreach(intvalinarray){hc=unchecked(hc*314159+val);}如果您需要更复杂的东西,lookhere. 关于整数数组的C

c# - C# 中的标准正态分布 z 值函数

我一直在看JeffAtwood最近在AlternateSortingOrders上发表的博文.我试图将帖子中的代码转换为C#,但遇到了问题。在给定标准正态曲线下的面积百分比的情况下,据我所知,.NET中没有函数会返回z值。该算法使用的推荐值为95%和97.5%,您可以在任何统计书籍的z值表中查找这些值。有谁知道如何为所有z值或至少与平均值相差6个标准差的值实现这样的函数。一种方法是将值硬编码到字典中并使用查找,但必须有一种计算准确值的方法。我解决这个问题的尝试是对标准正态曲线函数进行定积分。y=(1/(sqrt(2*PI)))*e^(-(1/2)*x^2)这给了我两个x值之间的曲线下面