编程面试题

  • 如何判断一个点是否属于某条线?

    以最简单的形式,只需将坐标插入线性方程式并检查是否相等。 鉴于: Point p X=4, Y=5 Line l Slope=1, YIntersect=1 插入X和Y: Y = Slope * X + YIntersect = 5 = 1 * 4 + 1 = 5 = 5 pr

  • 非线性色彩图,matplotlib

    您的链接为色图提供了很好的解决方案。我做了一些编辑,但其中包含所有必要内容。您需要为非线性色彩图选择一些合理的级别。我+- 4在样本的标准偏差之间使用了两个以平均值为中心的范围。通过将其更改为另一个数字,可以在两个平均值附

  • 找出一组数字中的哪些组合加起来得出给定的总数

    背包问题的这种特殊情况称为子集和。

  • 有多个推销员的旅行推销员?

    TSP是一个难题。多TSP可能更糟。我不确定您是否可以使用此类临时方法找到好的解决方案。您是否尝试过元启发式方法?我会先尝试使用交叉熵方法:将它用于您的问题应该不会太难。否则,请寻找通用算法,蚁群优化,模拟退火… 请参阅Boer等人的“交叉熵方法教程”。他们解释了如何在TSP上使用CE方法。对于您的问题的简单调整可能是为每个推销员定义一个不同的矩阵。 您可能想假设您只想找到推销员之间的最佳城市划分(并将每个推销

  • 导入csv时,pandas无法识别浮点数列

    如Jeff所述,这是= 0.12的错误(但已在0.13中修复)。 In [11]: s = '''A;B 1;2,000 3;4''' In [12]: pd.read_csvStringIOs, sep=';', thousands=',' Out[12]:

  • 通过长度变量将字符串拆分为较小的字符串

    您需要使用一个循环: public static IEnumerablestring SplitByLengththis string str, int maxLength { for int index = 0; index str.Length; index += maxLength { yield return str.Substringindex

  • 不能泡菜 :属性查找cv2.BRISK失败

    我设法解决了。感谢@Matt和@Yamaneko。基本上,我将读取图像的块移到了worker函数中。因此,如果 池大小= 6, 并且有六个边界框,则每个帧将被读取六次(在每个工作程序中)。那是我发现使其工作的唯一方法。 当前版本可以在a href="https:github.comrafaelvaretoCMT- TrackertreefeatureparallelVareto

  • 获取所有可能的总和为一个给定的数字

    这是一个简单的算法,旨在做到这一点 来自:http : introcs.cs.princ

  • 如何获取目录或驱动器的文件系统?

    psutil是一个跨平台的软件包,可以识别分区类型: psutil.disk_partitions [sdiskpartdevice='devs

  • 随机选择一组不同整数的最有效方法

    对于较小的maxValue值,这样可以合理地在内存中生成所有整数的数组,则可以使用Fisher- Yates随机播放的变体,但仅执行n第一步即可。 如果n小于,maxValue并且您不希望生成整个

  • 即使整个管道都没有安装管道中的Sklearn组件?

    该ColumnTransformer属性transformers是输入不 匹配的 变压器。要访问已安装的变压器,请使用属性transformers_或named_transformers_。我想get_params['preprocessor__cat__imputer']也得到了不合适的

  • 创建序列的幂集

    如果人们熟悉位,就很容易产生功率设定。对于N元素2^N集,将有一些子集将变为幂集(包括空集和初始集)。因此,每个元素将是IN或OUT(1或0换句话说)。考虑到这一点,很容易将集合的子集表示为位掩码。除了枚举所有可能的位掩码之外,还可以构建整个功率集。为此,我们需要检查位掩码中的每个位,并1在该位置存在输入集的元素。以下

  • 如何自动在python和qml更新中插入/编辑QAbstractListModel?

    您收到的错误是由以下代码行引起的: self.persons = self.persons.append{'name': 'peter', 'age': 22} 造成此问题的原因是append函数未返回任何内容,因此应将None分配给self.persons 要插入新数据,您必须调用beginInsertRows并将cod

  • 查找n个数字的gcd的最快方法是什么?

    您应该使用Lehmer的GCD算法。

  • 无论如何,要获取传递给python中函数的参数的名称?

    不,您不知道用于将值传递给函数的局部变量的名称。 无论如何,这是不可能完成的任务。在以下示例中,变量名是什么? arguments = 'a', 1, 10 somefunction*arguments[:2] + [10] 在这里,我们传入了3个参数,其中两个取自我们先前定义的元组,一个是文字值,而所有三个参数都是使用可变参数列表语法传入的。

  • 到给定点的最近点

    不要忘记,您不需要打扰平方根。 如果您只是想找到最接近的距离(而不是实际距离),请使用dx^2 + dy^2,这将为您提供与每个项目的距离的平方,这同样有用。 如果您没有将这个像素列表包装起来的数据结构,则只需要对所有像素进行测试即可。 如果您有一定的灵活性,那么有很多减轻工作量的好方法。制作一个a href="http:en.wikipedia.orgwik

  • 如何在BeautifulSoup中获取子元素的HTML表示形式?

    要获取元素的html表示形式,只需使用内置str函数: soup = BeautifulSoup"htmlbodyspanThis is my textspanbodyhtml" span = soup.find'span' strspan # Outputs 'sp

  • 非递归合并排序

    遍历元素,并在必要时通过交换两个元素使每个相邻的元素组排序。 现在,处理两个组的组(任何两个,最可能是相邻的组,但是您可以使用第一个和最后一个组)将它们合并为一组,方法是从每个组中重复选择值最低的元素,直到将所有4个元素合并为一个4人一组现在,您只有4人一组加上可能的余数。使用围绕先前逻辑的循环,再次执行所有操作,除了这次以4组为一组。此循环一直运行到只有一组为止。

  • 在Twisted中实现Direct Connect客户端的正确方法?

    如果不知道协议的所有细节,我还是会建议使用单一反应器-反应器规模 相当 好(特别是先进的,如PollReactor),并通过这种方式,你会避免与线程的开销连接(这是如何扭曲等异步系统毕竟,通过避免此类开销来提高其基本性能)。实际上,Twisted中的线程主要在您需要连接到其功能可能会阻塞的库时非常有用。

  • 如何使用Bresenham创建任意厚度的线?

    我认为最好的方法是绘制矩形而不是直线,因为具有宽度的线是二维对象。试图绘制一组平行线来避免过度绘制(以减少写入带宽)和欠画(缺少像素)会非常复杂。从起点和终点以及宽度计算矩形的角点并不难。 因此,在下面的评论之后,执行此操作的过程将是: 创建一个矩形,该矩形的长度与所需的线长相同,宽度等于所需的宽度,因此从(0,0)到(width,length) 使用2D变换将矩形角坐

  • 计算组合量

    这是一种精确的古老算法,除非结果太大,否则不会溢出 long long unsigned long long chooseunsigned long long n, unsigned long long k { if k n { return 0; } unsigned long long r = 1; for unsi

  • SQLAlchemy与association_proxy问题的关系

    级联从拥有的父级变为要删除的子级对象,因此User.user_to_groups,Group.group_to_user: class UserToGroupBase: __tablename__ = 'user_to_group' user_login = ColumnString60, ForeignKeyUser.login, primary_key=True gro

  • 查找所有最大子集的高效算法

    假设您标记了所有输入集。 A={1, 2, 3}, B={1, 2}, C={2, 3}, D={2, 4}, E={} 现在构建中间集,在Universe中每个元素一个,包含其中出现的集的标签: 1={A,B} 2={A,B,C,D} 3={A,C} 4={D} 现在,对于每个输入集,计算其元素的所有标

  • 使用包在多个模块之间拆分Python类

    您不能将一个类拆分为多个文件。一个包应包含多个模块,这些模块是包含代码的文件(完整的类,函数等)。 该__init__.py文件在导入包时运行(尽管很少用于实际执行很多代码),并告诉Python目录是一个包,而不是类的构造函数。 包(文件夹)应该是包和模块的集合,而模块(文件)应该是代码的集合。 普通层次结构的示例: - somepa

  • 如何使用O(n)时间和O(1)空间成本将两个排序的整数数组合并到位

    这绝不是一个简单的问题。有可能,但是在实践中很少这样做,因为它比使用N- scratch空间的标准合并要复杂得多。Huang和Langston的论文自80年代末以来一直存在,尽管实际的实现直到后来才真正浮出水面。早些时候,L。Trabb-

  • 在Python中一次遍历String单词

    通过三种不同的方式逐字逐字地遍历文件的内容(以古腾堡计划的《绿野仙踪》为例): from __future__ import with_statement import time import re from cStringIO import StringIO def word_iter_stdfilename: start = time.time with openfilename

  • 如何使用C#生成真正的(非伪)随机数?

    这里的答案有两个主要方面。您应该适当注意一些非常重要的细节。 简易方法(出于简单性和实用性) 的RNGCryptoServiceProvider,这是在BC

  • 将所有奇数定位的元素移到原位的左半边,甚至定位到右半部分

    获取大小为3 k +1的最大子数组 从位置1、3、9,…,3 k-1开始,对该子数组的各个部分应用循环引导算法,将元素移动到其在子数组中的适当位置(偶数索引元素在子元素的左侧) -array,在右边是奇数索引-),被替换的元素也应移动到正确的位置,依此类推,直到此过程返回到起始位置为止。本文给出了数论解释,为什么这样

  • 提取在嵌套字典和列表中找到的叶子值集(不包括“无”)

    这是参考答案的改编,以使用内部函数和单个函数set。它还使用递归为问题中包含的样本输入生成预期输出。它避免了使每个叶子都经过整个调用堆栈。 from typing import Any, Set def leavesstruct: Any - Set[Any]:

  • 编写一个简单的方程式解析器

    您可以使用Shunting yard码算法或Reverse Polish Notation(a href="http:en.wikipedia.

  • 查找熊猫数据框中的所有重复行

    首先过滤所有duplicated行,然后 a href="http:pandas.pydata.orgpandas- docsstablegeneratedpandas.DataFrame.groupby

  • 最佳最短路径算法

    Dijkstra的算法可找到图中一个节点与每个其他节点之间的最短路径。您将为每个节点运行一次。权重必须为非负数,因此,如有必要,您必须首先对图形中的值进行标准化。 a href="http:en.wikipedia.orgwikiFloyd%E2%80%93Warshall_algorit

  • 如何将函数映射到三重嵌套列表并保持三重嵌套列表完整无缺?

    而不是就地做,而是创建一个新列表 dataset = [[[floatvalue for value in measure] for measure in subject] for subject in dataset]

  • 整数的对称双射算法

    使用任何32位块密码!根据定义,分组密码以可逆的方式将其范围内的每个可能的输入值映射到唯一的输出值,并且根据设计,很难确定没有密钥的任何给定值将映射到什么。只需选择一个密钥,如果安全性或晦涩性很重要,就将其保密,然后使用密码作为转换即可。 有关将此概念扩展到非2的幂的范围的信息,请参阅我的关于a href="http:blog.notdot.net20079Damn-Cool- Algorithms-Part-2-S

  • 使用itertools.groupby性能进行numpy分组

    我做类似这样的事情得到了3倍的改进: def group: import numpy as np values = np.arraynp.random.randint0,3298,size=35000000,dtype='u4' values.sort dif = np.onesvalues.shape,values.dtype dif[1:] = np

  • 从数据库中检索数据并在Kivy中将其设置为textinput字段和图像小部件,以用于多屏幕应用程序!AttributeError

    问题-AttributeError self.ids.no.text = self.data_items[columns[0]]['text'] File "kivyproperties.pyx", line 841, in kivy.properties.ObservableDict.getattr

  • 给定数字的所有因子

    在Ruby中,该prime库为您提供因式分解: require 'prime' 4800.prime_division #= [[2, 6], [3, 1], [5, 2]] 为了得到您的清单,您采用了可能功效的笛卡尔积: require 'prime' def factors_ofnumber pr

  • 如何在机器人框架HTTP请求库中为CreateSession添加标头

    您没有传递字典,而是传递了看起来像字典的字符串。解决方案是创建一个适当的字典并将其传递给其中。Robot为此使用了一个Create Dictionary关键字。 *** Se

  • 最优雅的方式将0更改为1,反之亦然

    i ^= 1; 将值与1进行XOR运算。这提供了两种方式(以防您需要以0 -- 1任何一种方式翻转): code

  • 最小长度L的最大连续子序列和

    我相信您可以在O(n)时间内完成此操作,而不管选择使用修改版的Kadane算法。 为了了解其工作原理,让我们考虑L = 0的情况。在这种情况下,我们想找到原始序列的最大和子数组。这可以通过Kadane的算法来解决,该算法是一种聪明的a href