编程面试题

  • 如何使用C ++用一行拟合2D散点数据

    我建议从头开始对其进行编码。这是C ++中非常简单的实现。您可以polyfit直接在公式中为数据的最小二乘拟合(与方法相同)进行截距和渐变编码 a href="http:en.wikipedia.orgwi

  • 查找阵列之间的重复项

    抱歉,我仔细阅读了更多内容,我认为这是您想要的。请指教。: int[] same = a.Intersectb.ToArray; ; int[] diff = a.Unionb.Exceptsame.ToArray; int[] c = new int[] { diff[0], same[0], same[1], diff[1] };

  • 找到一个即使没有重复的次数,而其他所有数字都重复奇次的次数

    哈希映射很好,但是您需要存储的只是每个元素的计数模2。除0(偶数)个元素外,所有这些最终都将为1(奇数)。 (正如Aleks G所说的那样,您不需要使用算术(count++ %2),只需使用xor(count ^= 0x1);尽管任何编译器都会对其进行优化。)

  • 计算给定数字的无负表示

    负符号 负数表示法使用-2的基数。这意味着,就像在每个具有负基数的数字系统中一样,每隔一位都有一个负值: position: ... 7 6 5 4 3 2 1 0 binary: ... 128 64 32 16 8 4 2 1 negabinary

  • 获取多维NumPy数组中最大值的位置

    该argmax方法应该有所帮助。 更新资料 (在阅读评论后)我相信该argmax方法也适用于多维数组。链接的文档提供了以

  • 算法:在二维整数数组中搜索整数的有效方法?[重复]

    上学期,我把这个问题摆在家庭作业上,两个我认为是中等水平的学生提出了一个非常优雅,简单和(可能)最优的算法,这让我感到惊讶: Findk, tab, x, y let m = tab[x][y] if k = m then return "Found" else if k m then return Findk, tab, x, y + 1 else retur

  • 在Python中删除字符串中的引号

    .replace如果它们始终出现在字符串方法中,或者.strip仅在开始和或结束时出现,则只需使用它们: a = '"sajdkasjdsak" "asdasdasds"' a = a.replace'"', '' 'sajdkasjdsak asdasdasds' # or, if they only occur at start and e

  • 将给定数字表示为四个平方的总和

    永远有可能吗? 是的,拉格朗日的四平方定理指出: 每个自然数都可以表示为四个整数平方的和。 已经通过多种方式证明了这一点。 算法 有一些更

  • 为python脚本创建BAT文件

    c:\python27\python.exe c:\somescript.py %*

  • 在O(K)时间中找到大小为N的最大堆中最大K个数的算法?

    我终于找到描述该算法的论文。关于Quora也有类似的问题。 GN Frederickson 的论文“ a

  • 如何在Python中使用Win32 API?

    PyWin32是必经之路-但是如何使用它呢?一种方法是从遇到的具体问题开始并尝试解决它。PyWin32提供了许多Win32 API函数的绑定,您确实必须首先选择一个特定的目标。 在我的Python 2.5安装中(在Windows上为ActiveState),win32软件包具有一个Demos文件夹,其中包含库各个部分的示例代码。 例如,这是CopyFileEx.py: c

  • 如何有效地搜索有序矩阵?

    从第一行的最后一个元素(右上角)开始。 与进行比较key。我们有3种情况: 如果它们相等,我们就完成了。 如果key大于该元素,则意味着key该行中不能存在该元素,因此将搜索移至该元素下方的元素。 如果keyco

  • 如何在Python中测量算法的运行时间

    我不是100%知道“用python编写的算法的运行时间”是什么意思,所以我认为我可能会尝试更广泛地研究一些潜在的答案。 算法没有运行时间 ; 实现可以是定时的,但是算法是做某事的抽象方法。优化程序的最常见也是最有价值的部分是分析算法,通常使用渐近分

  • 清单上的re.sub-python 3

    您可以使用列表理解来做到这一点,您的意思是这样的吗? import re x = [ '[1]', '[2]' ] [re.subr'\W', '', i for i in x] ['1', '2'] 令牌\W与任何非单词字符匹配。

  • 在Python中生成(不太完全)生成集的算法

    您可能还会喜欢递归解决方案: def spanlst: yield [lst] for i in range1, lenlst: for x in spanlst[i:]: yield [lst[:i]] + x 说明 我们在这里利用递归来解决问题。该方法如下: 对于每个列表,整个列表都是有效

  • 将double值取整并转换为整数

    您应该使用该round函数,然后将其强制转换为整数类型。但是,请勿对round函数使用第二个参数。通过使用2,它将四舍五入到小数点后两位,cast然后整数将 舍 入到最接近的数字。 而是使用: df2 = df.withColumn"col4", func.round

  • 部分订购的比较器

    问题是,当您拥有无法比拟的元素时,您需要退回到比比较哈希码更聪明的地方。例如,给定部分顺序{a b,c d},哈希码可以满足h(d)h(b)h(c)h(a),这意味着a b c d a( 粗体 表示用哈希码打断领带),这将导致a出现问题Tree

  • 向图像添加泊松噪声

    如果您可以使用numpy scipy,则以下内容应会有所帮助。我建议您将数组转换为浮点数以进行中间计算,然后将其转换回uint8以进行输出显示。由于泊松噪声都 = 0,因此您需要决定在转换回uint8时如何处理数组溢出。您可以根据自己的目标进行缩放或截断。 filename = 'myimage.png' imagea = scipy.misc.imreadfil

  • 使用Big-O表示法时平均复杂度的含义

    如果您要查找正式定义,则: 平均复杂度是随机输入的预期运行时间。

  • networkx.MultiDiGraph.edges方法是否保留顺序?

    从MultiDiGraph.edges()方法返回的边列表在重复调用时不能保证是任意顺序或相同的。如果需要特定的排序,则必须进行更多处理(例如排序)或维护单独的边列表或符号表。

  • 是否存在“负” big-O复杂性?

    不,那是不可能的。由于Big-Oh假定是算法执行的与其域大小相关的操作数的近似值,因此将算法描述为使用负数的操作就没有意义。 维基百科文章的正式定义部分实际上使用正实数来定义Big-Oh表示法。因此,实际上甚至没有证据,因为按照正式定义,Big-Oh的整个概念对负实数没有意义。 简

  • 查找BigInteger是否为质数的最快算法?

    这是一个优化版本,仅使用sqrt(n)进行测试,并使用Miller-Rabin测试(根据Joni的回答): public boolean returnPrimeBigInteger number { check via BigInteger.isProbablePrimecertainty if !number.isProbablePrime5 return f

  • python spark替代方法可针对非常大的数据爆炸

    您需要做的是减小进入爆炸状态的分区的大小。有2个选项可以执行此操作。首先,如果您的输入数据是可拆分的,则可以减小的大小,spark.sql.files.maxPartitionBytes以便Spark读取较小的拆分。另一种选择是在爆炸之前重新分区。 该a href="http:spark.apache.orgdocslatestsql-programming-guide.html#other

  • 在范围列表中搜索数字的最快方法

    由于您指出RangeGroups是按的顺序添加的,RangeGroup.Low并且它们不重叠,因此您无需进行任何进一步的预处理。您可以在RangeGroups列表上进行二进制搜索以找到范围(警告:未经充分测试,您需要检查一些边缘条件): public static RangeGroup Finduint number { i

  • Python Tkinter将画布另存为Postscript并添加到pdf

    正如在此答案中提到的,可能的解决方法是打开一个子进程以使用ghostscript: canvas.pos

  • 如何使用for_each输出到cout?

    你可以做到这一点使用std::copy到std::ostream_iterator: std:

  • 在Cython中排序memoryview

    为了跟进我的评论,这里有3个选项(numpy和C和C ++标准库选项) from libcpp.algorithm cimport sort from libc.stdlib cimport qsort import numpy as np def sort_numpydouble[:] a, kind: np.asarraya.sortkind=kind # needs to be c

  • 二叉树的直径-更好的设计

    尝试查找二叉树(直径)中两个节点之间的最长路径时,需要考虑三种情况: 最长的路径穿过根部, 最长的路径完全包含在左侧子树中, 最长的路径完全包含在正确的子树中。 穿过根的最长路径只是左右子树的高度之和(对于根来说,+ 1是不必要的,因为具有根节点和左1个,右1个子树节点的树的直径为2 ),然后可以递归找到其他两个:

  • 熊猫groupby计数大于1

    使用GroupBy.transform的系列与原来一样同数据框尺寸: df1 = df[df.groupby['c0','c1']['c2'].trans

  • 用于校正FishEye透镜的镜筒畸变校正算法-无法用Java实现

    您遇到的主要错误是该算法指定r_corr和r_src以min((xDim-1) 2,(yDim-1) 2)为单位。需要执行此操作以标准化计算,以便参数值不依赖于源图像的大小。有了代码,您将需要为paramB使用更小的值,例如,对于paramB =0.00000002(对于尺寸为2272 x 1704的图像),它对我来说可以正常工作。 在计算与中心的差异时,还存在一个错误,该错误会导致生成的图像与源图像相比旋转

  • 未排序数组中的最长连续序列

    这是Python中的解决方案,它仅使用单个哈希集,并且不执行任何花哨的间隔合并。 def destruct_directed_runnum_set, start, direction: while start in num_set: num_set.removestart start += direction return start def destruct_single_ru

  • 使用beautifulsoup解析HTML页面

    Element.string如果 元素中直接 包含文本 ,则 仅包含一个值。不包括嵌套元素。 如果您使用的是BeautifulSoup 4,请a href="http:www.crummy.

  • 二进制搜索以在旋转的排序列表中找到旋转点

    您只需要对二进制搜索算法进行一点修改;这是完整的可运行Java中的解决方案(有关Delphi实现的信息。 import java.util.*; public class BinarySearch { static int findMinimumInteger[] arr { int low = 0; int high = arr.length - 1;

  • 排序向量 按字母顺序

    在这种情况下,您应该编写一个比较两个Word结构的函数并将该函数传递给std::sort。 bool compare_by_wordconst Word lhs, const Word rhs { return lhs.word rhs.word; } std::sortdata.begin, data.end

  • 将Unicode转换为UTF-8 Python

    始终在输入上 解码 ,并在输出上 编码 。(为此应该使用方便的助记符:也许“ 当您进入室内时脱掉代码(外套) ”。) 输入时解码:您说数据库编码为“ UTF_8_bin”。您正在使用MySQL-Python吗?如果是这样,则可以use_u

  • 计算2个城市之间的距离

    如果您需要考虑地球的曲率,则大圆距就是您想要的。Wikipedia上的文章可能比我更好地解释了该公式的工作原理,并且还有一个航空公式页面,其中涵盖了更多细节。 但是,公式只是难题的第一部分,如果您需要

  • 如何在管理表单上的DateField中接受本地化的日期格式(例如dd / mm / yy)?

    管理系统使用默认值ModelForm来编辑对象。您需要提供一个自定义表单,以便您可以覆盖字段行为。 在您的模型表单中DateField,使用覆盖字段,然后使用a hr

  • inorder + preorder如何构造唯一的二叉树?

    从顺序遍历开始。它是空的(在这种情况下您已经完成了),或者它有第一个元素r0树的根。现在搜索的遍历顺序r0。左子树都将在该点之前,而右子树将在该点之后。因此,您可以将该点的有序遍历分为左子树il的有序遍历和右子树的有序遍历ir。 如果il为空,则其余的遍历遍历属于正确的子树,您可以归纳继续。如果co

  • Python Tkinter应用程序无法正常退出

    使用self.destroy()只是销毁Frame,而不是顶层容器,您需要执行self.master.destroy()才能正确退出

  • Python中的Quine-McCluskey算法

    在提供链接的Wikipedia中,底部有一些“外部链接” ,其中的一些与您的项目相对应: “ Robert Dick的Python实现 ” 这样不能满足您的需求吗? “ 描述R中实现的算法的一系列两篇文章:第一篇和第二篇。R的实现是详尽无遗的,它提供了完整而精确的解决方案。它最多处理20个输入变量。“您可以使用Rpy的RpyPython接口来运行