编程面试题

  • 尝试使用ansible启动无业游民的实例时,获取“ msg:无法找到所需的可执行文件easy_install”

    它正在尝试使用安装pip easy_install name=pip。那已经过时了,easy_install应该不再使用了。 当前的方法是运行get- pip.py(请参阅安装说明)。然后在Ansible中运行该命令c

  • 在运行时如何生成随机数?

    您可以查看这篇文章。根据文档,.NET中使用的特定实现基于Donald E. Knuth的减法随机数生成器算法。有关更多信息,请参阅a href=

  • 在mongoengine中查询列表;包含与

    通常情况下,字符串查询都是正则表达式查询,因此效率较低。但是,例外是针对参考字段进行测试!以下查询是: Model.objects.filterrefs__contains="5305c92956c02c3f391fcaba"._query {'refs': ObjectId'5305c92956c02c3f391fcaba'} 这是直接查找。

  • 这种python sort方法的复杂性是什么?

    设置itemgetter0是O1当用于data,排序是On log n两者平均,并在最坏的情况下。 有关Python中使用的排序方法的更多信息,请参见Wikipedia。 d

  • 给定正数的所有数字的总和[关闭]

    O(1)表示数字总和的算法: 取任何数字的模9,将返回该数字的总和,直到获得单个数字为止。 如果数字是9的倍数,则总和将为9 一线 public int sumDigitint n{ return n%9 == 0 n != 0 ? 9 : n%9; }

  • 如果条件失败,np.where()不执行任何操作

    只返回该列,而不是pass当条件为时不执行任何操作False: current['New Type'] = np.wherecurrent['In Previous']=='Yes','In Previous',current['New Type'] 或者,您可以掩盖这些行: curr

  • 创建N个嵌套的for循环

    您可以在基本条件下使用递归- void doRecursionint baseCondition{ ifbaseCondition==0 return; place your code here doRecursionbaseCondition-1; } 现在,您无需baseCondition在编译时提供值。您

  • 使用Scikit学习的DictVectorizer时toarray中的MemoryError

    在执行fit_transform时,不要将整个字典传递给它,而是创建仅具有唯一出现次数的字典。这是一个示例: 转换字典: 之前 [ {A:1,B:22.1,C:Red,D:AB12}, {A:2,B:23.3,C:Blue,D:AB12}, {A:3,B:20.2,C:Green,D:AB65}, ] 后

  • 为什么气泡排序为O(n ^ 2)?

    您是正确的,即外循环迭代n次,内循环也迭代n次,但是您正在重复计算工作。如果通过对顶级循环的每次迭代所完成的工作求和来计算完成的总工作量,则您会发现自第i个迭代以来,第一个迭代有n个工作,第二个n-1,第三个n-2等。顶层循环的迭代具有内部循环n - i。 或者,您可以通过将完成的工作量乘以内部循环乘以该循环运行的总次数来计算完成的工作。内循环在每次迭代中执行O(n)的工作,而外循环在O(n)迭代中运行

  • 使用JavaScript reduce函数对数组进行排序

    在此处使用reduce毫无意义,但是您可以使用新数组作为累加器并对所有元素进行插入排序: array.reducesorted, el = { let index = 0; whileindex array.length el array[index] index++; sorted.spliceindex, 0, el; retur

  • 从文件打开张量流图

    我以这种方式解决了这个问题:首先,我在图形“输出”中命名所需的计算,然后将此模型保存在下面的代码中… import tensorflow as tf x = tf.placeholderdtype=tf.float64, shape=[], name="input" a = tf.Variable111, name="var1", dtype=tf.float64 b = tf.Variable-66

  • 打包算法的Python实现

    https:bitbucket.orgkent37python-tutor- samplessrcf657aeba5328

  • 4-SUM的二次算法

    是的你可以。遍历所有数字对并存储它们的总和(并存储哪些数字给出该总和)。在那之后,检查每个和是否在您的和中找到否定。使用散列可以达到二次复杂度,使用std :: map可以达到On^2*logn。 编辑:确保不使用超过一次的数字,这将更好地存储索引而不是每个总和的实际数字。同样,由于给定的总和可能由一对以上构成,因此您将不得不使用哈希多图。考虑到总和的数量是不同的,一次最多使用一

  • Windows上的python 2.3最好的方法是执行具有多个参数和路径中空格的ghostscript之类的程序吗?

    使用子进程,它superseeds os.popen,尽管它是没有太大的一个抽象的更多: from subprocess import Popen, PIPE output = Popen["mycmd", "myarg"], stdout=PIPE.communicate[0]

  • .NET日期比较:计算自日期以来的工作日数?

    这会做您想要的。转换为VB.NET应该很容易,但是对于我来说已经太久了。 DateTime start = DateTime.Now; DateTime end = start.AddDays9; IEnumerableDateTime holidays = new DateTime[0]; basic data int days = intend - start.TotalD

  • Google Maps缩放级别计算如何工作?

    一些数字很容易解释 MeanRadiusEarthInKm = 6371(根据IUGG) DegToRadDivisor = 180 PI = 57.2958 再一次,缩放级别将

  • Django将占位符添加到内置登录表单的django中

    将此内容保存在 forms.py from django import forms from django.contrib.auth.forms import AuthenticationForm from django.forms.widgets import PasswordInput, TextInput class CustomAuthFormAuthenticationF

  • 在2D块网格中查找矩形

    分别调用输入数组W和H的宽度和高度。 运行这种聪明的O(WH)算法来确定最大的矩形,而不是仅跟踪单个最大的矩形,对于W * H矩阵中的每个(x,y)位置记录

  • 使用python -c开关的长程序

    如果您的基础shell是bash,则没有问题,因为如果'尚未关闭打开的(引号),则可以跨多行继续传递参数-例如: $ python -c'for x in range3: if x!=1: print x' 0 2 $ 的是bash的默认PS2,“多行继续

  • 如何将十进制值四舍五入至最接近的0.05值?

    怎么样: Math.CeilingmyValue * 20 20

  • 根据元素的某些方面,如何将Python列表分为两个列表

    尝试基本的列表理解: [ x for x in l if x[1] == "Plot" ] [[8, 'Plot', 'Sunday'], [12, 'Plot', 'Monday'], [10, 'Plot', 'Tuesday'], [14, 'Plot', 'Wednesday'], [19, 'Plot', 'Thursday'], [28, 'Plot', 'Friday']]

  • stl排序-严格弱排序

    甲偏序不足以实现一些算法,如一个排序算法。由于部分排序的集合不一定定义集合中所有元素之间的关系,您将如何对部分排序中不具有顺序关系的两个项目的列表进行排序?

  • 在Python中使用ftplib上传文件之前,请更改服务器上的目录

    使用FTP.cwd方法: myFTP.cwd'remotepath' 致电之前 uploadThismyPath

  • 可变大小数组与C中的calloc

    如果您声明int array[variable]将在堆栈上分配内存,这对于大型,相对永久的数据结构(例如您可能要返回的数据结构)来说不是很好。如果使用数组语法,则无需手动释放内存,因为它在超出范围时会释放。calloc另一方面,它将在运行时在堆上动态分配内存。完成后,您将必须自己释放它。

  • Java中的Mergesort

    这是您的代码的更正版本: import java.io.*; import java.util.Arrays; public class MergeSort { public static void mainString[] args throws IOException{ BufferedReader R = new BufferedReadernew InputStream

  • 如何在python中使用第三方“库”?

    我继续下载了它,但是在尝试使用它时遇到了问题。显然,下载内容包括源文件,我完全不知道如何在Eclipse的“项目”中使用它。 您应该在命令类型中使用pip: pip install python-dateutil

  • 如何在Perl中生成数组的所有排列?

    来自perlfaq4:“如何置换列表的N个元素?” : 使用CPAN上的List :: Permutor模块。如果列表实

  • 在Python中添加持续时间

    您正在使用的是时差,这就是为什么datetime.timedelta只在这里使用的原因: import datetime d1 = datetime.datetime.strp

  • 为什么没有std :: copy_if算法?

    根据Stroustrup的“ C ++编程语言”,这只是一个疏忽。 (作为引文,在增强型邮件列表中回答了相同的问题:copy_if)

  • 如何使用MERGE SORT对K个排序的数组进行排序

    正如其他人所说,使用最小堆来容纳下一个项目是最佳方法。这称为N路合并。它的复杂度为O(n log k)。 您 可以 使用2向合并算法对k个数组进行排序。也许最简单的方法是修改标准合并排序,以使其使用非恒定分区大小。例如,假设您有4个长度分别为10、8、12和33的数组。每个数组都已排序。如果将数组串联在一起,则将具有以下分区(数字是数组的索引,而不是值): [0

  • 如何使用python将.txt文件转换为xml文件?

    尝试以下代码作为入门: #!python3 import re import xml.etree.ElementTree as ET rex = re.compiler'''?PtitleLongitude |Latitude |datetime

  • 记忆,递归阶乘函数?

    好吧,我能想到的用C ++做到的最简洁的方法可能是使用一个函数对象来存储备注值。我想这可能与您的python装饰器有点类似,尽管我从未真正做过任何python。代码看起来像这样: template typename T, T *calcT class mem { std::mapT,T mem_map; public: T operatorT

  • 数独回溯算法

    在仅用一种选择填充方块与在板上完全递归之间,您可以执行更多高级操作。让我们以“区域”为一行,一列或一个正方形区域(3x3或4x4)。 策略1 如果某个区域中只能有相同的K个数的K个正方形(例如,两个正方形只能取2、5,或者三个正方形只能取1、7和8),则该区域中的所有其他正方形可以’取那些具体的数字。您需要对每个区域进行迭代以淘汰“已取”的数字,因此您可以找到一个只有一个逻辑选择的正方形(例如,逻辑上带有2

  • Django ORM的模型继承方法

    扁平比嵌套更好。在这种情况下,我看不到“深度继承”真的能给您带来任何好处:我会选择更扁平的模型作为更简单,更简单的设计,并可能具有更好的性能特征和易于访问的特性。

  • 如何解析布尔表达式并将其加载到类中?

    TL; DR:如果要查看代码,请跳至答案的第二部分。 我会从表达式中构建一棵树以进行解析,然后首先遍历它的深度。您可以参考有关二元表达式树的维基百科文章,以了解我的建议

  • python中的Web抓取urlopen

    我个人写道: # Python 2.7 import urllib url = 'http:www.boursorama.comincludescourslast_transactions.phtml?symbole=1xEURUS' sock = urllib.urlopenurl content = sock.read sock.close print content cod

  • 有向树(igraph)中从一个节点到另一个节点的所有可能路径

    您正在寻找有向无环图(DAG)中一个节点与另一节点之间的所有路径。 树始终是DAG,但DAG并不总是树。区别在于,只要不引入任何循环,一棵树的分支就不允许连接,只能分开,而DAG的分支可以一起流动。 您可以find_all_paths在“ Python模式- 实现图”中

  • 从原始波数据中检测特定的频率/音调

    如果尝试检测特定频率(例如DTMF输入),则可能需要查看Goertzel算法。基于此算法,Sourceforge上有一个C#DTMF生成器检测器库。

  • 如何在matplotlib中为不等间距的bin绘制具有相同bin宽度的直方图

    一种解决方案是通过numpy计算直方图并手动绘制条形图: aa1 = [0,1,1,2,3,3,4,4,5,9] aa2 = [0,1,3,3,4,4,4,4,5,6,7,9] bins = [0,3,9] height = [np.histogram xs, bins=bins[0] for xs in [aa1, aa2]] left, n = np.arangelenbins-1, lenhe

  • 从具有加权概率的列表中随机选择

    这个想法: 遍历所有元素,并将每个元素的值设置为到目前为止的累积频率。 产生一个介于1和所有频率之和之间的随机数 做一个二进制搜索这个数上的值(发现的第一个值大于或等于所述数目)。