Tag: 语言不可知的

如何从数字中读取值作为单词?

众所周知,数字可以用数字来表示,也可以用名字来表示。 虽然有很多例子可以把123转换为123,但是我找不到如何将其转换成另一种方式的好例子。 一些注意事项: 基数/名义或序数:“一”和“第一” 常见的拼写错误:“四十”/“四十” 数百/数千:2100 – >“二百”,还有“二千一百” 分隔符:“十一五二”,还有“一百五十二”或“十一五二”,还有什么 colloqialisms:“三十多岁” 片段:“三分之一”,“五分之二” 俗名:“一打”,“一半” 还有可能有更多的警告,可能还没有列出。 假设algorithm需要非常强大,甚至可以理解拼写错误。 我应该阅读哪些字段/论文/研究/algorithm来学习如何编写这些内容? 信息在哪里? PS:我最后的parsing器实际上应该理解3种不同的语言,英语,俄语和希伯来语。 也许在稍后的阶段会增加更多的语言。 希伯来文也有男/女数字,像“一个男人”和“一个女人”有不同的“一”,“ehad”和“ahat”。 俄罗斯也有其自身的一些复杂性。 Google在这方面做得很好,例如: http://www.google.com/search?q=two+thousand+and+one+hundred+plus+five+dozen+and+four+fifths+in+decimal (反过来也是http://www.google.com/search?q=999999999999+in+english )

什么是最快的分解algorithm?

我已经写了一个试图findAmicable Pairs的程序。 这就要求find合适的数字除数。 这是我目前的sumOfDivisors()方法: int sumOfDivisors(int n) { int sum = 1; int bound = (int) sqrt(n); for(int i = 2; i <= 1 + bound; i++) { if (n % i == 0) sum = sum + i + n / i; } return sum; } 所以我需要做很多因子分解,并且开始成为我应用程序中的真正瓶颈。 我在MAPLE中input了一个很大的数字,并将其快速分解。 什么是更快的分解algorithm之一?

使用了很多静态方法是一件坏事?

当这个类不需要跟踪内部状态时,我倾向于将类中的所有方法声明为静态。 例如,如果我需要将A转换为B,并且不依赖于某些可能不同的内部状态C,则创build一个静态转换。 如果有一个内部状态C,我希望能够调整,那么我添加一个构造函数来设置C,不要使用静态转换。 我读了各种build议(包括在StackOverflow)不要过度使用静态方法,但我仍然不明白上面的经验法则是什么问题。 这是一个合理的方法吗?

如何开发和testing一个发送电子邮件的应用程序(没有用testing数据填写某人的邮箱)?

我有很多应用程序发送电子邮件。 有时一次只有一两条消息。 有时候是成千上万的消息。 在开发中,我通常会用我自己的地址replace任何收件人地址来进行testing。 我确信这就是其他人所做的,直到他们厌倦并find更好的解决scheme。 我正在考虑创build一个虚拟的SMTP服务器,它只捕获这些消息,并把它们转储到一个SQLLite数据库或者一个mbox文件或者其他东西中。 但是这样的工具肯定已经存在了? 你如何testing发送电子邮件?

测量信号的峰值检测

我们使用数据采集卡从设备读取信号,将其信号增加到峰值,然后回落到接近原始值。 为了find峰值,我们目前在arrays中search最高读数,并使用索引来确定在我们的计算中使用的峰值的时间。 如果最高值是我们正在寻找的峰值,那么这个效果很好,但是如果设备工作不正常,我们可以看到第二个峰值可能高于初始峰值。 我们在90秒内从16台设备每秒读取10个读数。 我最初的想法是循环阅读检查,看看前一个和下一个点是否小于当前find一个峰值,并build立一个峰值arrays。 也许我们应该在当前位置的任何一边平均观察一些点,以便在系统中产生噪声。 这是继续进行还是有更好的技术? 我们使用LabVIEW,并且检查了LAVA论坛,并且有许多有趣的例子。 这是我们的testing软件的一部分,我们正在努力避免使用太多的非标准VI库,所以我希望对所涉及的过程/algorithm提供反馈,而不是特定的代码。

是“如果”昂贵?

在我的生活中,我不能记得那天我们的老师说了些什么,我希望你可能知道。 该模块是“数据结构和algorithm”,他告诉我们一些事情: if语句是最昂贵的[something]。 [某事]登记[某事]。 是的,我有一个可怕的记忆,我真的很抱歉,但我一直在Google上search几个小时,没有出现。 有任何想法吗?

以编程方式解决“谁拥有斑马”?

编辑:这个难题也被称为“爱因斯坦的谜语” 谁拥有斑马 (你可以尝试这里的在线版本 )是一个经典的谜题的例子,我敢打赌,大多数人堆栈溢出可以用笔和纸来解决它。 但是一个程序化的解决scheme是什么样的? 根据以下列出的线索… 有五间房子。 每个房子都有自己独特的颜色。 所有的房主都是不同的国籍。 他们都有不同的宠物。 他们都喝不同的饮料。 他们都抽不同的香烟。 英国人住在红房子里。 瑞典人有一只狗。 丹麦人喝茶。 温室在白宫的左边。 他们在温室里喝咖啡。 吸颇尔购物中心的人有鸟。 在黄色的房子,他们吸烟登喜路。 在中间的房子里,他们喝牛奶。 挪威人住在第一宫。 那个抽Blend的男人住在猫屋旁边的房子里。 在他们家有一匹马的房子旁边,他们吸烟登喜路。 抽蓝色大师的人喝啤酒。 德国人吸烟王子。 挪威人住在蓝屋旁边。 他们在房子旁边的房子里喝水,在那里他们抽Blend。 谁拥有斑马?

根据背景颜色确定字体颜色

给定一个系统(例如一个网站),让用户自定义一些部分的背景颜色,但不是字体颜色(保持选项的数量最less),有没有一种方法来编程确定是否“光”或“黑暗“的字体颜色是必要的? 我确定有一些algorithm,但是我对颜色,光度等知之甚less,无法自行解决。

需要帮助在mod 1000000007问题

我的math能力很弱,总是遇到需要回答模数的问题。 例如:(500!/ 20!)mod 1000000007 我熟悉BigInteger,但计算500的阶乘(甚至在使用DP之后)计算模似乎花费了大量的时间。 我想知道是否有一个特定的方法来处理这类问题。 这是我正在尝试解决的一个这样的问题: http : //www.codechef.com/FEB12/problems/WCOUNT 如果有人能够指导我编写一个教程或一个方法来处理这些编码问题,那真的很有帮助。 我熟悉Java和C ++。

从链表中有效地select一组随机元素

说我有一个长度为N的数字的链表。 N很大,我不知道N的确切值。 我怎样才能最有效地写一个函数,将从列表中返回k完全随机数字 ?