编程面试题

  • 如何在Python中重定向stderr?通过Python C API吗?

    只需创建一个模块对象(如果正在使用C API,就可以这样做!)并使其具有合适的write功能- 该模块对象将适合作为第二个参数PySys_SetObject。 在我向您指出的另一个问题的答案中,我指向xxmodule.c了Python的C源代码中的一个示例文件,该文件包含许多示例,其中包括各种类型和函数的模块- 即使您(对我来说

  • Python中最短的数独求解器-如何工作?

    好了,您可以通过修复语法来使事情变得容易一些: def ra: i = a.find'0' ~i or exita [m in[i-j%9*i9^j9*i27^j27|i%93^j%93or a[j]for j in range81] or ra[:i]+m+a[i+1:]for m in'%d'%5**18] from sys import * rarg

  • sklearn中带有数据标签的定制变压器Mixin

    fitMehtod应该返回自身,而不是转换后的值。如果只需要功能用于火车数据而不需要测试,请实施该fit_transform方法。 class smoteBaseEstimator, TransformerMixin: def fitself, X, y=None: printX.shape, ' ', typeX

  • 创建学校时间表的算法

    这个问题是 NP完全的 ! 简而言之,需要探索所有可能的组合以找到可接受的解决方案列表。由于各种学校出现问题的环境各不相同(例如:教室是否受到限制?,某些时间是否将某些班级分组划分为小组?,这是每周时间表吗?等),没有一个与所有计划问题相对应的众所周知的问题类别。也许 背

  • 把猫扔出窗户

    对于n层和m猫的一般情况,您可以轻松编写一些DP(动态编程)。 主要公式a[n][m] = minmaxa[k - 1][m - 1], a[n - k][m] + 1 : for each k in 1..n应该是不言自明的: 如果第一只猫从第k楼扔下并死亡,我们现在可以k - 1检查地板(全部在下方k)和

  • 带有异常的Python随机样本

    只需从列表中抽样2个值,不带,i_然后i_稍后插入: new_list = random.sample[i for i in myList if i != i_], 2 new_list.insertrandom.randrange0, 3, i_ 但这假设i_您的列表中仅发生过一次-

  • 什么是计算机科学中的NP-complete?

    NP 代表 非确定性 多项式时间。 这意味着可以使用非确定性图灵机(类似于常规图灵机,但还包括非确定性“选择”功能)在多项式时间内解决问题。基本上,解决方案必须 可以 在聚合时间内进行 测试 。如果是这样,并且可以使用输入经过修改的给定问题来解决已知的NP问题(可以将NP问题 简化

  • 如何应用ndimage.generic_filter()

    传递给的函数ndimage.generic_filter必须将数组映射到标量。该数组将是一维的,并包含im已通过进行“选择”的值footprint。 对于中的每个位置res,函数返回的值是分配给该位置的值。这就是为什么函数自然需要返回标量的原因。 因此,例如 def test

  • C是否有任何用于进行字符串加法的工具?

    如果您的C标准库是GNU或* BSD,那么您可能已经asprintf可以使用。但是,您可能需要启用功能测试宏才能使用它。如果没有asprintf,可以根据C标准vsnprintf功能轻松定义。 asprintf以新分配的字符串形式返回格式的结果(这是您的责任free)。因此,您可以编写

  • 切割图形集,Boost图形库

    这是基于Boost BiMap的快速PoC typedef boost::bimapbimaps::list_ofdefault_color_type, bimaps::set_ofTraits::vertex_descriptor smart_map; smart_map colorMap; boost::associative_property_map

  • 用于创建AbstractUser扩展模型的Django管理表单

    django.contrib.auth.admin中的UserAdmin还将设置“ add_fieldsets”属性,该属性设置要在添加用户视图上显示的字段。由于UserAdmin设置了该字段,因此您需要覆盖它以设置自己的字段。 这是一个例子: class CustomUserAdminUserAdmin: # ...code here... fieldsets =

  • 从数组中选择总和最接近目标值的值的算法?

    这个问题称为子集和问题,这是背包问题的特例。维基百科是某些算法的一个很好的起点。

  • 如何从文件路径中删除%20?

    看一下url2pathname: import urllib2 path = urllib2.url2pathname"file:homeashuMusicCollectionsrandomPicksipod%20o

  • 生成汉明距离t内的所有位序列

    #include stdio.h #include stdint.h #include string.h void magicchar* str, int i, int changesLeft { if changesLeft == 0 { printf"%s\n", str; return

  • 如何获得子集的所有可能组合?

    我认为,这个问题的答案需要一些性能测试。我会去的。这是 社区Wiki ,请随时进行更新。 void PerfTest { var list = Enumerable.Range0, 21.ToList; var t1 = GetDurationInMslist.SubSets_LB; var t2 = GetDurationInMslist.SubSe

  • Spidermonkey中的JSON序列化

    我会使用JSON.stringify。它是ECMAScript 5标准的一部分,并在当前版本的Spidermonkey中实现。我不知道它是否在python- spidermonkey使用的版本中,但是如果不是,则可以从http:www.json.orgjs.html获

  • 列举有向无环图中的所有路径

    在指数中的任何图中找到所有可能的路径。可以使用回溯来解决。对于DAG,我们可以使用深度优先搜索(DFS)进行。在DFS代码中,从任何节点开始,转到极端死角路径,并使用一些数组或列表记下在该路径中访问的所有节点。一旦发现死角,请立即打印包含访问的节点的数组,并弹出最后存储的节点,并从第(n-1)个节点的另一条路径开始。如果第(n-1)个节点的所有路径都用尽,则从列表中弹出该节点,然后从(n-2)个节点开始。这样做直到您到达所有死角并到达第一个节点。

  • 在Pandas数据框中旋转数据表

    IIUC: In [178]: d.pivot_tableindex='Cola', columns='Colb', aggfunc='size', fill_value=0 Out[178]: Colb Rippened UnRippened Cola Apple 1 1 Mango 0 1 Orange 1

  • 如何交换数组元素以将数组从类似列的表示转换成类似行的表示

    您要查找的术语是 就地矩阵转置 ,这是一个实现。

  • IronPython无法导入模块操作系统

    问题可能不在于zip,而在于os模块的位置。 您需要CPython安装并且脚本应该可以访问该CPython Lib目录。为此,您可以复制目录下的所有os必需文件Lib,也可以将环境变量设置IRONPYTHONPATH为指向Lib下面的目录CPython。

  • 在列表中查找总计为给定值的值

    这是一种递归方法: # V is the target value, t is the tolerance # A is the list of values # B is the subset of A that is still below V-t def combination_in_rangeV, t, A, B=[]: for i,a in enumerateA: if

  • 从整个Python Pandas Dataframe删除美元符号

    您需要$通过\以下方式逃脱: dftest[colstocheck] = dftest[colstocheck].replace{'\$':''}, regex = True print dftest A B C D E F 0 1 4 f; s% 5 7 1 2 5 d: d;

  • Python中“ set.intersection()”的算法是什么?

    算法如下:较小的集合被循环,并且根据是否在较大的集合中找到每个元素,将其复制。所以,这相当于C的 def intersecta, b: if lena lenb: a, b = b, a

  • UIBezierPath相交

    问题出在checkLineIntersection方法上。用 if ua 0.0 ua 1.0 ub 0.0 ub 1.0 { return YES; } 您仅检查线段的 内部 是否相交。但是,如果第一线段的起点或终点 e

  • Kivy'NoneType'对象没有属性'ids'

    您可以将ofseq_text_box作为存储并在文件中进行设置:ObjectPropertyMenuBar``kv class MenuBarBoxL

  • 如何求解:T(n)= T(n-1)+ n

    这样想: 在递归的每个“迭代”中,您都要进行O(n)工作。 每次迭代都有n-1个工作要做,直到n =基本情况为止。(我假设基本情况是O(n)的工作) 因此,假设基本情况是n的常数,则递归有O(n)个迭代。 如果每个O(n)工作有n次迭代,则O(n)* O(n)= O(n ^ 2)。 您的分析是正确的。如果您想了解有关解决递归的更多信息,请查看递归树。与其他方法相比,它们非常直观。

  • 如何在Django中链接视图?

    编写一个使用URL的包装程序,以查找适当的平面对象。 在包装器中,调用联系表单视图(并从中返回响应),在extra_context参数中传递平面页面(除其他用途外,该页面正是这种用例)。 没有第三步。

  • 在字符串中查找最常见的字符

    有很多方法可以使此操作更短。例如,您可以使用Counter该类(在Python 2.7或更高版本中): import collections s = "helloworld" printcollections.Count

  • 如何在Django中获取文件扩展名?

    您也可以使用表单中的clean()方法来对其进行验证。因此,您可以拒绝不是mp3的文件。像这样: class UploadSongforms.Form: [...] def cleanself: cleaned_data = superUploadSong, self.clean file = cleaned_data.get'file'

  • 最快的素数测试

    我知道的唯一性确定性多项式时间算法是AKS原始性测试(http:en.wikipedia.orgwikiAKS_primality_test)。但是,有许多非常好的随机原始性测试非常快速,并且具

  • 运算符和方法之间的区别

    如果我能正确理解问题… 简而言之,一切都是对象的方法。您可以找到“表达式运算符”在Python魔术类方法的方法,在运营商。 那么,为什么Python有像“性感”的东西[x:y],[x],+,-co

  • 一组总和(逻辑)

    这是子集和问题,它是一个已知的NP完全问题,因此没有已知的有效(多项式)解决方案。 但是 ,如果只处理相对较小的整数,则可以使用动态编程来创

  • Java平滑颜色过渡

    您在计算中使用了错误的符号。要正确应用该比例,应为正而不是负。 int red = intMath.absratio * FAR.getRed + 1 - ratio * CLOSE.getRed; int green = intMath.absratio * FAR.getGreen + 1 - ratio * CLOSE.getGreen; int bl

  • 导入pika时python没有模块名称pika

    您可以将该导出命令添加到您的〜 .bash_login文件中。

  • 数组中两类元素的稳定分离

    显然可以在O(n)时间和O(1)空间中执行此操作。纸张以线性时间稳定最小空间分割由Jyrki Katajainen,和托米帕萨宁权利要求,以便能够做到这一点。 Google为0-1稳定排序。

  • 可以在流上计算SHA-1算法吗?内存占用少?

    是的,这完全有可能。SHA-1是一种块算法,因此它一次只能处理一个块。确切的块大小随生成的哈希大小而变化,但始终很小(例如20-50个字节左右)。当然,那是假设您要包括SHA-1 256、384和或512(又名SHA-256,SHA-384和SHA-512)。如果仅包含原始的160位版本,则块大小始终为20字节(160位)。 编辑:哎呀-重新读取规格,SHA-1,SHA-224,SHA-256的块大小为512位

  • 字符串上的Numpy'where'

    print a[arr_index] 不array_index! a = np.array['apple', 'orange', 'apple', 'banana'] arr_index = np.wherea == 'apple' print arr_index print a[arr_index]

  • 高效存储功率设定算法

    从X = {A,B,C,D,E,F,G,H,I}的幂集到0到2 ^ | X |之间的数字集存在一个平凡的双射映射。= 2 ^ 9: Ø映射到000000000(以2为基) {A}映射到100000000(以2为基) {B}映射到010000000(以2为基) {C}映射到001000000(以2为基) … {I}映射到000000001(以

  • 如何在Python中写入文件中的特定行?

    with open'input' as fin, open'output','w' as fout: for line in fin: fout.writeline if line == 'xxxxx\n': next_line = nextfin if next_line == 'yyyyy\n': f

  • 加密单个整数的方法

    您想要的是32位分组密码。不幸的是,由于短块大小的缺点,大多数块密码都是64位或更多。如果您可以处理的加密int大小是输入的两倍,那么您可以使用Blowfis