Tag: algorithm

计算圆中点的位置

目前我对此有一点空白。 我有一个问题,我需要计算中心点周围点的位置,假设它们距离中心和距离都是等距的。 点的数量是可变的,所以它是DrawCirclePoints(int x)我相信有一个简单的解决scheme,但对于我的生活,我只是看不到它:)

用于创build色轮的function

这是我屡次伪解的东西,从来没有find一个解决scheme。 这是困在我身上。 问题是想出一种方法来生成N种颜色,尽可能区分N是参数。

find两个给定节点之间的path?

假设我有以下方式连接的节点,我如何到达给定点之间存在的path数目以及path细节? 1,2 //node 1 and 2 are connected 2,3 2,5 4,2 5,11 11,12 6,7 5,6 3,6 6,8 8,10 8,9 find从1到7的path: 答:find2条path 1,2,3,6,7 1,2,5,6,7 在这里find的实现很好,我将使用相同的 这里是上面的链接在Python中的片段 # a sample graph graph = {'A': ['B', 'C','E'], 'B': ['A','C', 'D'], 'C': ['D'], 'D': ['C'], 'E': ['F','D'], 'F': ['C']} class MyQUEUE: # just an implementation of a queue def […]

快nselectk mod p为大n?

我的意思是“大n”是百万分之一。 p是素数。 我试过http://apps.topcoder.com/wiki/display/tc/SRM+467但function似乎是不正确的(我testing了144select6模5,它给了我0当它应该给我2) 我已经尝试http://online-judge.uva.es/board/viewtopic.php?f=22&t=42690但我完全不明白 我也做了一个使用逻辑(组合(n-1,k-1,p)%p +组合(n-1,k,p)%p)的recursion函数,但是它给了我堆栈溢出的问题, n很大 我已经尝试过卢卡斯定理,但它似乎是缓慢或不准确的。 我所要做的就是创build一个快速/准确的nselectk mod p为大n。 如果有人能够帮助我展示一个很好的实现,我将非常感激。 谢谢。 根据要求,堆栈溢出的memoized版本溢出大n: std::map<std::pair<long long, long long>, long long> memo; long long combinations(long long n, long long k, long long p){ if (n < k) return 0; if (0 == n) return 0; if (0 == k) return 1; if (n == k) return […]

找出第n个斐波纳契数字为非常大的“n”

我想知道如何find斐波纳契数列的第n项来表示一个非常大的n值,例如1000000.使用等级recursion方程fib(n)=fib(n-1)+fib(n-2) ,find第50个学期需要2-3分钟! Googlesearch后,我开始了解Binet的公式,但是这里不适合n> 79的值 有没有像我们一样寻找素数的algorithm呢?

Euclidalgorithm的时间复杂度

我很难判断Euclid的最大公分母algorithm的时间复杂度是多less。 这个伪码的algorithm是: function gcd(a, b) while b ≠ 0 t := b b := a mod b a := t return a 这似乎取决于a和b 。 我的想法是时间复杂度是O(a%b)。 那是对的吗? 有没有更好的方式来写这个?

计算邮政编码在PHP中的距离

我从这个页面抓取了邮政编码的数据库和他们的langitudes /纬度等等。 它有以下几个领域: ZIP,纬度,长度,城市,州,县,邮编 数据是在一个文本文件,但我把它插入到MySQL表中。 我现在的问题是,我如何利用上面的字段来计算用户可以在网站上input的两个邮政编码之间的距离? 在PHP中的工作代码将不胜感激

按螺旋顺序打印二维数组

如何以螺旋顺序打印5×5的二维数组? 是否有任何公式,以便我可以按螺旋顺序打印任何大小的数组?

用Python快速sorting

我对python是完全陌生的,我正试图在其中实现quicksort。 有人可以帮我完成我的代码吗? 我不知道如何连接三个数组并打印它们。 def sort(array=[12,4,5,6,7,3,1,15]): less = [] equal = [] greater = [] if len(array) > 1: pivot = array[0] for x in array: if x < pivot: less.append(x) if x == pivot: equal.append(x) if x > pivot: greater.append(x) sort(less) sort(pivot) sort(greater)

在数组中查找重复的元素O(n)

我在求职面试中被问到这个问题,我一直在思考正确的答案。 你有一个数字从0到n-1的数组,其中一个数字被删除,并被数组中已经存在的一个数字replace,这个数字就是该数字的一个副本。 我们如何在O(n)时间检测到这个重复? 例如,一个1,2,3,4的数组将变成1,2,2,4 。 时间O(n 2 )的简单解决scheme是使用嵌套循环来查找每个元素的副本。