编程面试题

  • 并行执行类方法

    当您调用obj.method子进程时,子进程将获得中每个实例变量的单独副本obj。因此,您在子代中对它们所做的更改不会反映在父代中。您需要通过将更改的值显式地传递给父m

  • 从日期增加或减少天数的算法?

    最简单的方法是实际编写两个函数,一个将日期从给定的开始日期转换为几天,然后另一个将日期转换回日期。日期以天数表示后,对其进行加或减就很简单了。 您可以在此处找到算法:http : a href="ht

  • 如何将图片从画布复制到剪贴板?

    您可以使用.postscript画布的方法来获取内容的封装PostScript(EPS)表示形式。然后,使用` ImageMagick的Python绑定(a href=

  • LINQ查找连续数字系列

    linqish的方式可能是 编写 GroupWhile如下所示 的扩展方法 (省略了所有检查。未经优化易于理解。) int[] list = new int[] { 1, 2, 3, 5, 7, 8 }; var result = list.GroupWhilex, y = y - x == 1 .Se

  • 子集总和问题

    我不确定您的解决方案是准确的还是PTA(多时近似)。 但是,正如有人指出的那样,这个问题确实是NP-Complete。 意思是,每个已知(精确)算法在输入大小上都有指数时间行为。 意思是,如果您可以在0.01纳秒内处理1次操作,那么对于59个元素的列表,它将需要: 2^59 ops -- 2^59 seconds --

  • 使用Python的XML更改标签名称

    如果要使用ElementTree,则可以查找和是set的SSN子元素的所有元素。Employee``tag 例… 输入 (input.xml) Company Employee SSN111111111SSN&g

  • Python pi计算?

    似乎您在此行中失去了精度: pi = pi * Decimal12Decimal640320**1.5 尝试使用: pi = pi * Decimal12Decimal640320**Decimal1.5 发生这种情况是因为,即使Python可以处理任意小数位整数,但对于浮点数

  • 如何在numpy中反转排列数组

    的置换的逆p的np.arangen是索引的阵列s之类p的,即 p[s] == np.arangen 一定是真的。这样的s正是a href="http:docs.scipy.orgdocnumpyreferencegenerat

  • python如何更改嵌套列表中的元素

    您在这里有10次 相同 [0, 0]元素的列表: l=[[0,0]]*10 每当您修改一个列表时,它都会全部修改,因为 它们是相同的list 。 一种使它们独特的安全方法是: l = [[0, 0] for _ in range10] co

  • 高效查找最近的点

    将四叉树用于2D http:en.wikipedia.orgwikiQuadtree

  • 获取字符串的所有组合

    您可以迭代生成由一个部分,两个部分,三个部分等组成的所有字符串,直到在一个步骤中生成的所有字符串都超过六个字符为止。进一步的步骤将只生成更长的字符串,因此所有可能的短字符串都已经生成。如果在每个步骤中收集这些短字符串,那么最终会得到一组所有可能生成的短字符串。 在Python中: S = set['a', 'ab', 'ba'] collect = set step = set[''

  • 如何更快地读取/遍历/切片Scipy稀疏矩阵(LIL,CSR,COO,DOK)?

    尝试读取原始数据。Scipy稀疏矩阵存储在Numpy ndarray中,每个矩阵具有不同的格式。 读取LIL稀疏矩阵的原始数据 %%timeit -n3 for i, row, data in enumerateziplil.rows, lil.data: for j, val in ziprow, data: arr[i,j] = val cod

  • 检查字符串是否有圆括号

    我认为这是目的,但实际上,如果仅处理括号,则只需要减少和增加计数器。如果要处理方括号,尖括号,花括号或您要使用的任何字符配对,那么您将需要像完成操作一样使用堆栈。 您还可以使用列表,反复打开head元素,但是实际上无论如何堆栈都可以实现为列表-至少在ocaml中。

  • python中的二进制搜索算法

    在的情况下needle_element array[mid],您当前传递array[mid:]给递归调用。但是您知道它array[mid]太小了,因此您可以array[mid+1:]改为传递(并相应地调整返回的索引)。 如果指针大于数组中的所有元素,则这样做最终将为您提供一个空数组,并且将按预期方式引发错误。

  • 使用json lib从Python嵌套JSON中获取元素

    您需要一个树搜索算法: def locateByNamee,name: if e.get'name',None == name: return e for child in e.get'children',[]: result = locateByNamechild,name if result is not None:

  • 设计一种有效的算法,以少于8个比较对5个不同的键进行排序

    比较A与B以及C与D。WLOG,假设A B和C D。比较A与C。WLOG,假设A C。将E排序为ACD。这可以通过两个比较来完成。将B排序为{E,C,D}。可以进行两次比较,总共进行七次。

  • numpy.all轴参数不正常?

    axis=0表示将元素 沿着 轴0a[0, 0]进行“与”运算,因此将“与”与a[1, 0],a[0, 1]将“与”与a[1, 1]“等”。指定的轴已折叠。 您可能会认为它需要np.alla[0],np.alla[1]

  • 了解变更算法

    要获得元素等于“ a”,“ b”或“ c”(我们的硬币)的所有可能的集合,其总和为“ X”,您可以: 取所有总计为Xa的集合,并为每个集合添加一个额外的“ a”。 取所有总计为Xb的集合,并为每个集合添加一个额外的“ b”。 取所有总计为Xc的集合,并为每个集合添加一个额外的“ c”。 因此,获得X的方法数量等于获得Xa和Xb与

  • 将OpenCV网络摄像头集成到Kivy用户界面中

    在以下位置找到此示例:https : groups.goog

  • keras示例不起作用

    不幸的是,Keras和Theano在Windows上的Python 3不能很好地工作。您遇到的问题与以下事实有关:您必须将libpython库添加到C ++ Windows Compiler并将其与Python安装连接,而在安装Python 3.5的情况下,这可能会非常困难。我建议您将其安装在Python 2上。在这里,您有确切的操作说明: a href="https:stackoverfl

  • 如何合并一个numpy数组和一个文本列并导出到csv

    import numpy as np a = np.random.rand6,4 b = ['test']*6 c = np.column_stack[a,b] np.savetxt'tmpout', c, delimiter=',', fmt='%s' 写类似 0.70503807191,0.19298150889,0.962915679

  • 在pipenv项目中为python文件制作命令行别名

    如果要为脚本使用特定的python环境,则需要将其指向该环境的解释器。在Mac上,默认设置是pipenv将所有virtualenv安装到其中,Usersuser_name.localsharevirtualenvs但是可以如a href="http:pipenv.readthedocs.ioenlatestadvanced#custom- virtual

  • 有没有一种有效的方法来生成具有给定总和或平均值的范围内的N个随机整数?

    这是我在Java中的解决方案。它功能齐全,包含两个生成器:PermutationPartitionGenerator用于未排序的分区和CombinationPartitionGenerator用于已排序的分区。您的生成器也在类中实现以SmithTromblePartitionGenerator进行比较。该类SequentialEnumeratorcode

  • Django管理员。显示分层下拉过滤器

    您需要创建一个自定义小部件以选择City模型(也就是说,您的模型应FK到City而不是State),此小部件包含两个Select字段,第一个包含Sstate,第二个包含在选择中州(您需要插入一个视图以根据州ID返回城市以填充您选择的城市)。 您应该将窗口小部件Media内部类指向所有Selects链接的特定.js文件。 在ModelAdmin规范中,将字段的窗口小部件设置为刚创建的自定义窗口小部件,它将自动将其

  • 在Python中,如何在排序列表中找到第一个值的索引大于阈值?

    看一看开张。 import bisect l = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] bisect.bisectl, 55 # returns 7 与线性搜索进行比较: timei

  • 包含之后的Jinja2编译扩展

    Jinja2进行模板数据流。对模板进行评估后的指令,用于将指令输入到较小的字符串流中,并通过该render方法将其连接为实际的unicode字符串。但是,您也可以通过调用generate代替代替来获得流render。 通过流中的一些带内信令和后处理,也许可以实现类似的功能,但是它与Jinja2的设计方式背道而驰,因此可能会严重破坏并且完全不

  • 多边形轮廓上的边并不总是正确的

    需要书面形式的Eigen,但核心操作应轻松映射到您正在使用的任何矢量类。 v0 and v1 are normalized t can vary between 0 and 1 http:number-none.comproductUnderstandin

  • 是否有可能在python的[a,b]范围内找到随机浮点数?

    [0.8,0.9]和[0.8,0.9)之间的差异很小。考虑到二进制浮点数的局限性,我什至不认为存在任何区别,因为无论如何无法精确表示0.9。使用[0.8,0.9)。

  • 在C中生成INTEGERS的均匀分布

    在某些实现中,rand它的低阶位没有提供良好的随机性,因此模运算符不会提供非常随机的结果。如果发现是这种情况,则可以尝试以下方法: int uniform_distributionint rangeLow, int rangeHigh { double myRand = rand1.0 + RAND_MAX; int range = rangeHigh

  • How to customise QGroupBox title in PyQt5?

    1 Probably that’s the default QT placement, in the first image the platform style is used, and its take care of borders and title placement, when you change the stylesheet you override something and

  • 从掷硬币创建随机数生成器

    您可以使用比n所描述的大2的最小幂来构建rng 。然后,只要此算法生成的数字大于n-1,就将其丢弃,然后重试。这称为拒绝方法。 加成 该算法是 Let m = 2^k = n where k is is as small as possible. do Let r = rando

  • 您可以根据其他词典条目设置词典值吗?

    这不是一个通用的解决方案,但大致适用于您的示例: class DynamicDictdict: def __getitem__self, key: value = superDynamicDict, self.__getitem__key return evalvalue, self if isinstancevalue, str else valu

  • 如何修复错误嵌套/未关闭的HTML标签?

    使用BeautifulSoup: from BeautifulSoup import BeautifulSoup html = "pulliFoo" soup = BeautifulSouphtml print soup.prettify 让你 p ul

  • Spyder anaconda在Linux上因分段错误而崩溃

    ( 这里 是 Spyder维护人员 )此问题是由错误的图形卡驱动程序引起的,有两种解决方法: 更新到Spyder 3.3或更高版本。 pyopengl用conda安装。

  • 哪种算法可以计算给定集合的幂集?

    您要问的名字有一个。这就是功率集。 谷歌搜索“功率集算法”使我想到了这种递归解决方案。 Ruby算法

  • 熊猫使用正则表达式读取csv

    我将所有这些CSV收集到具有以下结构的DataFrames字典中: df['20140803']-DF包含属于所有df_trip_20140803_*.csvCSV文件的串联数据。 解: import os import re import glob import pandas as pd

  • 二叉树的镜像

    听起来像功课。 看起来很简单。编写一个递归例程,该例程首先深度访问每个节点,并以左右反转的方式构建镜像树。 struct node *mirrorstruct node *here { if here == NULL return NULL; else { struct node *newNode = malloc sizeofstruct node

  • Find period of a signal out of the FFT

    Once the DC part of the signal is removed, the function can be convoluted with itself to catch the period. Indeed, the convolution will feature peaks at each multiple of the period. The FFT can be applied to compute t

  • 在PHP中对数组进行分组

    只需遍历数组并为组使用另一个数组即可。它应该足够快,并且可能比使用sqlite或类似工具时所涉及的开销更快。 $groups = array; foreach $data as $item { $key = $item['key_to_group']; if !isset$groups[$key] { $groups[$key] = array

  • Python SSL Import Error in PyInstaller generated executable

    So after a couple of hours, I managed to solve the problem. I did several things and still unsure what was the actuall fix, but this is the step-by-step flow I’ve done: Created a new environment