草庐IT

algorithm

全部标签

java - 与数组中的字符串匹配的最长子字符串

假设我有以下输入,并且我的实现语言是Java:一个数组A,内容如下:["brownfox","jumpedoverthe","lazydog","dog","the","fish","quantumburrito","oxjumpedoverthelaz","andate","atepie"]字符串S,内容如下:"thequickbrownfoxjumpedoverthelazydogandatepie"(第一个字符索引0,最后一个字符索引55)我需要(像在典型计算机上一样高效)组装(完全)包含在数组A的元素内的字符串S的子字符串列表,并以降序排列。我还需要知道每个匹配项的字符串S中的

java - 如何内存长度为 n 的递归路径搜索

第一次发帖时我想试试这个社区。我已经研究了几个小时,但我似乎找不到足够接近的例子来从中获取灵感。我不在乎答案是什么语言,但更喜欢java、c/c++或伪代码。我希望在网格中找到长度为n的连续路径。我找到了一个递归解决方案,我认为它很干净并且始终有效,但如果路径数量太多,运行时会很差。我意识到我可以迭代地实现它,但我想先找到一个递归解决方案。我不在乎答案是什么语言,但我更喜欢java、c/c++。问题是——对于String[]和intpathLength,该长度的路径有多少条。{"ABC","CBZ","CZC","BZZ","ZAA"}长度为3Thisisthe3rdand7thpat

java - 如何使用 Tapestry 组件绘制钻石 t :loop

对于我的Tapestry作业,我必须从字符串数组中在table上显示一颗钻石。这是我到目前为止所拥有的:代码Index.javapublicclassIndex{@PropertyprivateIntegernumber;@PropertyprivateString[]table;publicIndex(){number=9;inttemp=0;Stringtmp="-";table=newString[number*number];if(singleCell==null)singleCell="";for(inti=0;i";}publicStringgetEndTR(){retur

java - 改进两次遍历数组(同一数组上的嵌套循环)

我有一大组数据,我想循环浏览这些数据,以确定从时间点“D1”到future时间点“D2”的数据集的各种统计信息。基本上,每次值之间的差异大于10时,我都想添加到数据库中。例如:Datum[]data=x;for(Datumd1:data){Datum[]tail=y;//Fromd1upto10elementsaheadfor(Datumd2:tail){//Calculatedifferenceif((d2.val-d1.val)>10){//Insertintodatabase}}}我的问题是,是否有更好的算法/方法来执行此操作?由于tail中的9个元素在外循环的下一次迭代中被重用

java - 如何获得图中某些节点彼此断开连接的最小成本

在给定的图中,我想计算在图中将某些节点彼此断开连接的最小成本。示例:在此图中,假设我想通过删除这些节点之间的一些边来断开nodeA、nodeC和nodeF之间的连接。即通过删除edgeA-B和edgeF-E,节点A、C和F将断开连接。这里的成本是指被删除的边的长度。在此示例中,将NodeA、NodeC和NodeF彼此断开的总最小成本为2+1=3。有人可以提供一些提示吗?我无法对这个问题进行归类,这是一种最短路径问题还是最小生成树问题? 最佳答案 这称为多端切割问题。不幸的是,似乎没有维基百科条目。问题是,给定一个加权图和称为term

java - 执行 "check point inside triangle"算法时出现错误

我遵循thisarticle中的算法1检查一个点是否在三角形内。这是我的代码://========================================================================================================================////Methods//========================================================================================================================//

java - 洗牌(SPOJ/Interviewstreet)

这个问题以前有人问过,但是没有一个得到明确的回答,我试着编译我在这里找到的所有信息。如有必要,请随意合并/移动到另一个stackexchange站点。以下是我发现的与此相关的问题:SPOJ:CardShufflingCardShuffling[SPOJ]该问题最初作为InterviewstreetCodeSprint发布,但现在列为apracticeproblem.它也是portedtoSPOJ.这是问题陈述:HereisanalgorithmforshufflingNcards:1)ThecardsaredividedintoKequalpiles.2)ThebottomN/Kcar

Java归并排序, "merge"这一步应该用队列还是数组来完成?

这不是家庭作业,我没有钱上学,所以我在高速公路上的收费站轮类工作时自学(漫长的夜晚,几乎没有顾客)我试图通过首先思考实现一个简单的“合并排序”,如果你喜欢一些实际的学习,稍微拉伸(stretch)一下我的大脑,然后然后看看解决方案在我使用的手册上:“2008-08-21|算法设计手册|Springer|StevenS.Skiena|ISBN-1848000693”。我想出了一个解决方案,它使用数组作为缓冲区来实现“合并”步骤,我将其粘贴在下面。作者使用队列所以我想知道:是否应该改用队列?一种方法与另一种方法相比有哪些优势?(显然他的方法会更好,因为他是顶级算法学家而我是初学者,但我不能

java - 对数组进行快速高效的计算

我想计算文档中特定短语的出现次数。例如“stackoverflow论坛”。假设D表示文档集,文档包含这两个词。现在,假设我有以下数据结构:A[numTerms][numMatchedDocuments][numOccurInADocument]其中numMatchedDocuments是D的大小,numOccurInADocument是特定术语在特定文档中出现的次数,例如:A[stackoverflow][document1][occurance1]=3;表示,术语“stackoverflow”出现在文档“document1”中,它的第一次出现在位置“3”。然后我选择出现次数最少的术语

java - 什么应该是哈希表中的关键的最佳实践

最好的查找结构是HashTable。它平均提供恒定的访问(在最坏的情况下是线性的)。这取决于散列函数。好的。我的问题如下。假设HashTable的良好实现,例如HashMap是否有关于映射中传递的键的最佳实践?我的意思是建议键必须是不可变对象(immutable对象),但我想知道是否还有其他建议。例如key的大小?例如,在一个好的HashMap中(以上述方式)如果我们使用String作为键,“瓶颈”是否会出现在equals的字符串比较中(尝试找到key)?那么键应该保持小吗?或者是否有不应该用作键的对象?例如。URL?在这种情况下,您如何选择使用什么作为key?