Questions tagged «algorithm»

算法是定义明确的问题解决方案的一系列明确定义的步骤。当您的问题与算法设计有关时,请使用此标签。

16
随机生成美观的调色板的算法[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 改善这个问题 我正在寻找一种简单的算法来生成大量随机的,美观的颜色。因此,没有疯狂的霓虹色,让人想起粪便的颜色等。 我已经找到了解决此问题的方法,但是它们依赖于替代RGB的调色板。我宁愿只使用纯RGB,也不愿来回映射。这些其他解决方案最多也只能生成32种左右的令人愉悦的随机颜色。 任何想法都很棒。
301 algorithm  colors 

30
编写程序以从10亿个数字数组中查找100个最大数字
我最近参加了一次采访,被问到“编写一个程序以从10亿个数字中找出100个最大的数字”。 我只能给出一种蛮力的解决方案,即以O(nlogn)时间复杂度对数组进行排序,并获取最后100个数字。 Arrays.sort(array); 面试官正在寻找更好的时间复杂度,我尝试了其他一些解决方案,但未能回答他。有更好的时间复杂度解决方案吗?
300 algorithm  sorting 

7
iTunes 11中为歌曲列表着色的算法如何工作?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 改善这个问题 新的iTunes 11具有专辑歌曲列表的绝佳视图,可以选择专辑封面功能中的字体和背景颜色。有人知道算法是如何工作的吗?



10
什么是动态编程?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 10个月前关闭。 改善这个问题 什么是动态编程? 它与递归,备忘录等有何不同? 我已经阅读了有关维基百科的文章,但我仍然不太了解。

12
为什么我们使用Base64?
维基百科说 当需要对二进制数据进行编码时,通常需要使用Base64编码方案,该二进制数据需要在旨在处理文本数据的媒体上存储和传输。这是为了确保数据在传输过程中保持不变。 但是,不是因为我们的计算机存储的二进制数据就一直以二进制形式存储/传输数据,而这仅取决于您如何解释它?因此,无论您编码位模式010011010110000101101110为ManASCII或如TWFu为Base64,你最终将存储相同的位模式。 如果最终编码是用零和一表示的,并且每台机器和媒体都可以处理它们,那么将数据表示为ASCII还是Base64有什么关系呢? “旨在处理文本数据的媒体”是什么意思?他们可以处理二进制=>他们可以处理任何东西。 谢谢大家,我想我现在明白了。 当我们发送数据时,我们不能确定数据将以我们期望的格式解释。因此,我们发送双方都可以理解的以某种格式(如Base64)编码的数据。这样,即使发送方和接收方对相同内容的解释不同,但由于它们在编码格式上达成共识,因此不会错误地解释数据。 以Mark Byers为例 如果我要发送 Hello world! 一种方法是像ASCII一样发送 72 101 108 108 111 10 119 111 114 108 100 33 但是字节10在另一端可能无法正确解释为换行符。因此,我们使用ASCII的子集对其进行编码,如下所示 83 71 86 115 98 71 56 115 67 110 100 118 99 109 120 107 73 61 61 即使在接收器碰巧对其余字符集有不同的解释的情况下,以相同信息量传输更多数据为代价,这也确保了接收器可以按预期方式解码数据。

7
可以使用哪种算法以相当理想的方式将不同大小的矩形打包为可能的最小矩形?
Наэтотвопросестьответына 堆栈溢出нарусском:Необходимовычислить,какоемаксимальноеколичествофигурвместитсянапрямоугольнике。Чемможнореализовать? 我有一堆矩形对象,我需要将它们打包到尽可能小的空间中(此空间的尺寸应为2的幂)。 我知道各种各样的打包算法,这些算法会将项目尽可能地打包到给定的空间中,但是在这种情况下,我需要该算法来计算出该空间也应该有多大。 例如,说我有以下矩形 128 * 32 128 * 64 64 * 32 64 * 32 它们可以包装成128 * 128的空间 _________________ | 128 * 32 | | ________________ | | 128 * 64 | | | | | | ________________ | | 64 * 32 | 64 * 32 | …
273 algorithm  packing 

10
表示并解决给定图像的迷宫
代表并解决给定图像的迷宫的最佳方法是什么? 给定JPEG图像(如上所示),读入,将其解析为某种数据结构并解决迷宫的最佳方法是什么?我的第一个本能是逐像素读取图像并将其存储在布尔值列表(数组)中:True对于白色像素,False对于非白色像素(可以丢弃颜色)。这种方法的问题在于图像可能不是“像素完美”的。我的意思只是说,如果墙壁上的某处有白色像素,可能会产生意外的路径。 另一种方法(经过一番思考后才想到)是将图像转换为SVG文件-SVG文件是在画布上绘制的路径的列表。这样,可以将路径读入相同种类的列表(布尔值),其中True表示路径或墙壁,False表示可移动的空间。如果转换不是100%准确,并且不能完全连接所有墙,从而产生间隙,则此方法会出现问题。 转换为SVG的另一个问题是这些线不是“完美”的直线。这导致路径是三次贝塞尔曲线。使用由整数索引的布尔值列表(数组),曲线将不易转移,并且必须计算曲线上直线的所有点,但不会与列表索引完全匹配。 我假设虽然其中一种方法可能会(虽然可能不会)起作用,但考虑到如此大的图像,它们的效率很低,并且存在更好的方法。如何做到最好(最有效和/或最低复杂度)?有没有最好的方法? 然后是迷宫的解决。如果我使用前两种方法中的任何一种,则基本上将得到一个矩阵。根据该答案,表示迷宫的一种好方法是使用树,而使用A *算法来解决它的好方法。一个人如何根据图像创建一棵树?有任何想法吗? TL; DR 解析的最佳方法?变成什么数据结构?所述结构将如何帮助/阻碍解决? 更新 我已尝试使用numpy@Thomas建议的方式实现@Mikhail用Python编写的内容。我认为该算法是正确的,但无法正常运行。(下面的代码。)PNG库是PyPNG。 import png, numpy, Queue, operator, itertools def is_white(coord, image): """ Returns whether (x, y) is approx. a white pixel.""" a = True for i in xrange(3): if not a: break a = image[coord[1]][coord[0] * 3 + i] > …


10
C / C ++中整数除法的快速上限
给定整数值x和y,C和C ++都将商返回q = x/y浮点等效项的下限。我对返回上限的方法感兴趣。例如ceil(10/5)=2和ceil(11/5)=3。 显而易见的方法包括: q = x / y; if (q * y < x) ++q; 这需要额外的比较和乘法。我见过的(实际上使用过的)其他方法都涉及将as float或as强制转换double。有没有更直接的方法来避免额外的乘法(或第二除法)和分支,并且还避免将其转换为浮点数?
262 c++  c  algorithm  math 


25
如何确定一个点是否在2D三角形中?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 上个月关闭。 改善这个问题 有没有一种简单的方法来确定点是否在三角形内?它是2D,而不是3D。
258 algorithm  math  geometry 


20
根据背景色确定字体颜色
给定一个系统(例如网站),该系统可让用户自定义某个部分的背景颜色,而不自定义字体颜色(将选项的数量保持在最低限度),因此可以通过编程方式确定“浅色”还是“深色”字体颜色是必要的吗? 我敢肯定有一些算法,但是我对颜色,亮度等还不够了解,无法靠自己解决。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.