Tag: algorithm

列出string/整数的所有排列

编程采访中的一个常见任务(不是从我的访谈经验来看)是采取一个string或一个整数,并列出每一个可能的排列。 有没有这样做的例子和解决这个问题的逻辑? 我已经看到了一些代码片段,但他们没有很好的评论/解释,因此很难遵循。

如何确定一个点是否在一个二维三angular形?

有一个简单的方法来确定一个点是否在三angular形内? 这是2D,而不是3D。

反转string的最佳方法

我只是不得不在C#2.0中编写一个string反向函数(即LINQ不可用),并提出了这个问题: public string Reverse(string text) { char[] cArray = text.ToCharArray(); string reverse = String.Empty; for (int i = cArray.Length – 1; i > -1; i–) { reverse += cArray[i]; } return reverse; } 就我个人而言,我并不是对这个function感到兴奋,而是相信有更好的方法去做。 在那儿?

实现基于整数的幂函数的最有效方法pow(int,int)

给C中的另一个整数赋予整数的最有效方法是什么? // 2^3 pow(2,3) == 8 // 5^5 pow(5,5) == 3125

如何在O(n)中find长度为n的未sorting数组中的第k个最大元素?

我相信有一种方法可以在O(n)中find长度为n的未sorting数组中的第k个最大元素。 或者,也许它是“预计”O(n)什么的。 我们怎么做到这一点?

什么是尾巴呼叫优化?

很简单,什么是尾巴呼叫优化? 更具体地说,任何人都可以显示一些小代码片段,可以应用的地方,而不是在哪里,解释为什么?

find所有可能的数字组合,以达到给定的总和

你将如何去testing给定数字集合中的所有可能的组合增加到一个给定的最终数字? 例: 要添加的一组数字:{1,5,22,15,0,…} 预期结果:12345

在Python中滚动或滑动窗口迭代器

我需要一个在序列/迭代器/生成器上迭代的滚动窗口(又称滑动窗口)。 默认的Python迭代可以被认为是一个特殊情况,窗口长度是1.我目前使用下面的代码。 有没有人有这样做更Pythonic,不详细,或更有效的方法? def rolling_window(seq, window_size): it = iter(seq) win = [it.next() for cnt in xrange(window_size)] # First window yield win for e in it: # Subsequent windows win[:-1] = win[1:] win[-1] = e yield win if __name__=="__main__": for w in rolling_window(xrange(6), 3): print w """Example output: [0, 1, 2] [1, 2, 3] [2, 3, […]

图像比较 – 快速algorithm

我正在寻找创build一个图像的基础表,然后比较任何新的图像,以确定如果新的形象是一个精确(或closures)的基地重复。 例如:如果你想减less同一个图像的存储时间,你可以存储它的一个副本,并提供参考链接。 当input一个新的图像,你想比较一个现有的图像,以确保它不是一个重复的想法? 我的一个想法是缩小到一个小的缩略图,然后随机挑选100个像素的位置,并进行比较。

了解recursion

我在学校学习recursion方面遇到了很大的麻烦。 每当教授谈论它,我似乎得到它,但只要我自己尝试它,它完全打击我的大脑。 我试图彻夜解决河内的塔楼,彻底打乱了我的思想。 我的教科书只有约30页的recursion,所以它不是太有用。 有谁知道可以帮助澄清这个话题的书籍或资源?