草庐IT

hash_algorithm

全部标签

ios - SpriteKit : Hashing a Recycled SKShapeNode

我试图通过调用node.hash并将新节点存储在一个集合中来检测之前在我的SpriteKit游戏中未发生碰撞的节点之间的碰撞。我看到一段时间后,新节点与我之前调用node.removeFromParent()的节点具有相同的哈希值。我猜是因为我从父级中移除并一遍又一遍地重新创建非常相似的节点,SK会自动回收一些节点。如何从SpriteKit中的节点获取真正唯一的哈希值?如果需要进一步说明,请告诉我。我觉得发布我的代码与这篇文章不太相关。此外,当我使用连接到xcode的手机进行调试时,我无法重现此问题,但我添加了日志记录,显示node.hash对于新创建的节点不是唯一的。有人知道为什么我

algorithm - 间接枚举或类,我应该使用哪个来构建基本数据结构

当我尝试通过在Swift2中实现它们来练习一些基本的数据结构,例如Linked/DoublyLinked/RecyclingLinked/RecyclingDoublyLinkedList、AVLTree、Red-BlackTree、B-Tree和Treap,我决定通过利用Swift2的新特性:间接枚举来做这些事情,因为枚举使空节点和填充节点比类更具语义。但是很快发现对于非循环链表来说,插入一个元素后返回插入的节点是没有意义的,因为返回的值是值类型而不是引用类型。据说你不能通过直接向返回值写入信息来加速下一次插入,因为它是插入节点的副本而不是对插入节点的引用。更糟糕的是,改rebase

algorithm - 将数字转换为特定范围内的等效数字

我做某事有困难,我想将一个数字转换为给定范围内的“等价”。虽然这个概念真的很简单,但很难解释,所以我会尽力而为。假设您有无限行瓷砖,但尽管有无限数量的瓷砖,但重复的是完全相同的颜色图案,如下所示:如您所见,我为每个图block指定了一个数字,但我们可以取一个范围,从0到4,然后说:0是紫色1是蓝色2是红色的3是绿色4是黄色的但是因为这种颜色模式无限重复,实际上,5与0的颜色相同,6与1的颜色相同,8与3的颜色相同。此外,我们不能忘记负​​数,例如-1与4具有相同的颜色。实际上我想做的是将任何给定的数字转换成我选择的范围内的数字,这里是[0;4]范围,这样我就会知道什么颜色对应于这个特定

swift - Xcode 6.3 中不允许 NSObject 的 hash() 和 description()

在我的Swift库中EVCloudKitDao我做了很多反射(reflection)。因此,我将数据对象的基类设置为NSObject。现在,在升级到Xcode6.3之后,我在获取哈希和对象描述的2个函数上遇到错误。description函数很不错,但我确实需要散列来使我的对象与Set一起工作。这是我的代码publicclassEVCloudKitDataObject:NSObject,NSCoding,Printable,Hashable,Equatable{publicfunchash()->Int{returnself.hashValue}publicfuncdescription

algorithm - Swift 中的字数统计

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion用Swift编写简单的字数统计函数的更优雅的方法是什么?//ReturnsadictionaryofwordsandfrequencytheyoccurinthestringfuncwordCount(s:String)->Dictionary{varwords=s.componentsSeparatedByString("")varwordDictionary=Dictionary()forwordin

algorithm - 检查一个点是否在一个简单的多边形内

我正在尝试确定一个点是否位于多边形内部。我使用来自thiswebsite的以下(针对Swift修改)算法:funccontains(polygon:[Point],test:Point)->Bool{letcount=polygon.countvari:Int,j:Intvarcontains=falsefor(i=0,j=count-1;i=test.y)!=(polygon[j].y>=test.y))&&(test.x但是,当具有具有以下坐标的简单多边形时:(x:0,y:40),(x:0,y:0),(x:20,y:0),(x:20,y:20),(x:40,y:20),(x:40,

java - SSL 握手异常 : "Algorithm constraints check failed: MD5withRSA"

我尝试安装OracleEntitlementsServerClient。当我打电话时config.cmd-smConfigIdSample-SM-prpFileNameC:\oracle\product\11.1.2\as_1\oessm\SMConfigTool\smconfig.java.controlled.prp我得到了这个异常:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIXpathvalidationfailed:java.security.cert.Cert

java - 欧拉计划 #14 : Why is my TreeMap algorithm slower than brute force?

背景:我几年前在学校里第一次学习C++和Java,但在过去的9年左右时间里我没有做过太多编程,因为我以前的职业不需要它。我决定研究ProjectEuler以温习我的编程并解决了问题14,该问题要求找到最长Collat​​z序列的1到100万之间的整数。(Collat​​z序列继续进行,给定一个起始数字,将该数字乘以3,如果是奇数则加1,如果是偶数则将其减半。该过程一直持续到数字达到1。)我首先使用蛮力解决了这个问题,如下面的代码所示。intn;longtemp;//longisnecessarysincesomeCollatzsequencesgooutsidescopeofintin

java - 如何更新 Java 构造函数、equals、hash 等。在 eclipse ?

我想知道是否有人知道在Java中由eclipse生成的更新、构造函数、equals、hash、tostring等的好方法。很多时候,我在使用了自动生成的代码stub后,在类中添加了一个成员变量,然后我需要删除自动生成的代码,并重新做一遍。有没有办法让Eclipse将新变量添加到自动生成的代码stub中?编辑:好的,删除不是必需的,但是我仍然必须去生成它们中的每一个,我正在寻找一个自动解决方案。 最佳答案 这不完全是您问题的解决方案,但我不再使用Eclipse自动生成的方法,我使用ApachecommonslangEqualsBuil

python : Ramer-Douglas-Peucker (RDP) algorithm with number of points instead of epsilon

我想为RDPalgorithm修改以下python脚本目的是不使用epsilon而是选择我想在最后保留的点数:classDPAlgorithm():defdistance(self,a,b):returnsqrt((a[0]-b[0])**2+(a[1]-b[1])**2)defpoint_line_distance(self,point,start,end):if(start==end):returnself.distance(point,start)else:n=abs((end[0]-start[0])*(start[1]-point[1])-(start[0]-point[0]