Tag: 语言不可知的

为什么build议在文件末尾有空行?

一些代码风格的工具推荐这个,我记得看到一些UNIX命令行工具警告缺less空行。 有一个额外的空行是什么原因?

“parsing”的反义词是什么?

我有一个函数parseQuery,它将SQL查询parsing为该查询的抽象表示forms。 我即将编写一个函数,它将抽象表示查询并返回一个SQL查询string。 我应该怎么称呼第二个function?

把猫扔出窗外

想象一下,你正在一座带猫的高层build筑里。 猫可以从低矮的窗户里摔下来,但是如果从高处落下,它将会死亡。 如何用最less的尝试次数找出猫能够存活的最长时间? 显然,如果你只有一只猫,那么你只能线性search。 先从一楼扔掉猫。 如果它幸存下来,从第二个扔掉。 最后,从地板f扔掉后,猫会死亡。 然后你知道f-1楼是最大的安全楼层。 但是如果你有一只以上的猫呢? 你现在可以尝试某种对数search。 假设这个build筑有100层,你有两个相同的猫。 如果你把第一只猫从第50层扔出去,那么你只需要线性search50层。 如果您首次尝试select较低的楼层,则可以做得更好。 假设您select一次处理20个楼层的问题,而第一个致命楼层是#50。 在那种情况下,你的第一只猫在从第60层死亡之前将从第20层和第40层的飞行中幸存下来。你只需要单独检查第41层到第49层。 总共有12次尝试,比你试图使用二进制消除时需要的50次要好得多。 一般来说,最好的策略是什么,对于有两只猫的n层build筑来说,这是最糟糕的复杂性? 那么n层和m猫呢? 假设所有的猫都是相同的:它们都会从某个窗口的落下中生存或死亡。 而且,每一次尝试都是独立的,如果一只猫幸免于难,完全没有受到伤害。 这不是家庭作业,虽然我可能一旦解决了它的学校作业。 这只是一个突发奇想的问题,我今天突然想起,我不记得解决scheme。 如果有人知道这个问题或解决schemealgorithm的名称,奖励点。

代码高尔夫:激光

挑战 通过字符计数的最短代码input板的2D表示,并根据input输出“真”或“假”。 该板是由4种types的瓷砖制成的: # – A solid wall x – The target the laser has to hit / or \ – Mirrors pointing to a direction (depends on laser direction) v, ^, > or < – The laser pointing to a direction (down, up, right and left respectively) 只有一个激光 ,只有一个目标 。 墙壁必须形成一个任意大小的实心矩形,激光和目标放在里面。 “房间”内的墙壁是可能的。 激光射线从原点到其指向的方向移动。 如果激光射线撞击墙壁,则停止。 […]

build立给定文本中最常用词的ASCII图表

挑战: build立给定文本中最常用单词的ASCII图表。 规则: 只接受az和AZ (字母字符)作为单词的一部分。 忽略套pipe( She == she为我们的目的)。 忽略下面的话(我知道这是相当的任意的): the, and, of, to, a, i, it, in, or, is 澄清:考虑don't :这将被视为az和AZ范围内的两个不同的“单词”:( don和t )。 可选 (现在正式更改规范为时已晚),您可以select放弃所有单个字母的单词(这可能会缩短忽略列表)。 parsing给定的text (读取通过命令行参数指定的文件或通过input;假设us-ascii )并为我们构build一个具有以下特征的word frequency chart : 显示22个最常用单词(按降序排列)的图表(请参阅下面的示例)。 条width表示单词的出现次数(按比例)。 追加一个空格并打印单词。 确保这些条(总是空格 – 空格)总是适合的 : bar + [space] + word + [space]应该总是<= 80字符(确保考虑到可能有不同的条和字长度:例如:最常用的单词可能会比第一个单词长得多,而在频率上差别不大)。 在这些约束条件下最大化条宽,并适当缩放条(根据它们所代表的频率)。 一个例子: 这个例子的文本可以在这里find ( 刘易斯·卡罗尔的“爱丽丝梦游仙境” )。 这个特定的文本将产生下面的图表: _________________________________________________________________________ […]

什么是导致堆栈溢出的最短代码?

为了纪念Stack Overflow的公开发行,导致堆栈溢出的最短代码是什么? 欢迎任何语言。 ETA:为了清楚这个问题,看看我是一个偶然的Scheme用户:tail-call“recursion”是真正的迭代,任何可以通过体面的编译器相对简单地转换成迭代解决scheme的解决scheme将不会被算。 😛 ETA2:我现在select了一个“最佳答案”。 看到这个职位的理由。 感谢大家的贡献! 🙂

何时构造函数抛出exception?

何时构造函数抛出exception? (或者在目标C的情况下:初始化程序何时返回零? 在我看来,一个构造函数应该失败 – 因此拒绝创build一个对象 – 如果对象不完整。 也就是说,构造函数应该和调用者有一个契约来提供一个function和工作对象,在这个对象上可以有效地调用方法? 这是合理的吗?

什么是自以为是的软件?

我经常看到有人说某些软件“非常有见地”,或者说微软倾向于写下“无知”的框架。 这实际上是什么意思?

学习理解不同方法和概念的重要语言是什么?

当你所有的是一把螺栓刀和一瓶伏特加酒时,一切看起来就像是Wolf Blitzer船屋门上的锁。 (如果你不读xkcd,请用锤子和钉子代替) 我目前编程Clojure,Python,Java和PHP,所以我熟悉C和LISP语法以及空白的东西。 我知道命令式的,function性的,不可变的,面向对象和一些types的系统和其他东西。 现在我想要更多! 什么是采取不同方法的语言,对于实际的工具select还是理论上的理解都是有用的。 我不想学习另一个函数式语言(Haskell)或另一种命令性的OOP语言(Ruby),也不想练习像Brainfuck这样不切实际的有趣语言。 我发现自己的一个非常有趣的东西是像单因素堆叠的基于语言的语言。 只有当我觉得我理解了大多数的概念,并且能够回答所有的问题时,我才会开始思考我自己的玩具语言来包含我个人的喜好。

在支持循环和函数的语言中使用“goto”是否有利? 如果是这样,为什么?

我一直觉得,如果可能的话,不应该使用goto 。 在阅读libavcodec(用C编写)时,我注意到了它的多种用法。 在支持循环和函数的语言中使用goto是否有利? 如果是这样,为什么?