我解决不了:
你得到8个整数:
两条线不平行,因此将平面分成4块.点(x,y)位于这些部件的内部.
问题:
编写一个快速算法,找到与(x,y)相同的整数坐标的点,该点最接近两条给定线的交叉点.
注意:
这不是作业,这是古老的欧拉式任务,我完全不知道如何处理.
更新: 您可以假设输入的8个数字是32位有符号整数.但你不能假设解决方案是32位.
更新2: 困难的情况 - 线条几乎平行 - 是问题的核心
更新3:
问题的作者声明解决方案是线性O(n)算法.其中n是输入的大小(以位为单位).即:n = log(A)+ log(B)+ ... + log(y)
但我仍然无法解决它.
请说明已发布算法的复杂性(即使它们是指数级的).
鉴于需要循环到任意int值,将值转换为数组并为每个数组转换,或仅使用传统的for循环是否更好的编程实践?
仅供参考,我正在计算6个骰子的多个投掷中的5个和6个结果("命中")的数量.我的任意int值是dicePool,它表示多次抛出的次数.
据我了解,有两种选择:
将dicePool转换为数组并为每个数组转换:
public int calcHits(int dicePool) {
int[] dp = new int[dicePool];
for (Integer a : dp) {
// call throwDice method
}
}
Run Code Online (Sandbox Code Playgroud)使用传统的for循环:
public int calcHits(int dicePool) {
for (int i = 0; i < dicePool; i++) {
// call throwDice method
}
}
Run Code Online (Sandbox Code Playgroud)我的观点是选项1是笨拙的代码并且涉及不必要的数组创建,即使for-each循环比选项2中的传统for循环更有效.
我很想重新回答这个问题'看看这块砖.它属于哪种类型的房子?'
这里的情况:我已经有效地被要求形轮廓具有既得不到分析器(甚至一些子程序Devel::DProf),也不Time::HiRes.本练习的目的是"找到"瓶颈.
目前,我正在每个子文件的开头和结尾处打印打印语句,记录条目和退出文件,以及time函数的结果.不理想,但鉴于情况,这是我能做的最好的事情.至少它会让我看到每个子调用多少次.
代码在Unix下运行.我认为最接近我需要的是 perlfaq8,但这似乎没有帮助(我不知道如何制作syscall,并且想知道它是否会不可预测地影响代码时序).
不是你典型的日常问题......
我需要在我的机器上找到处理器的名称和速度.我正在构建一个开源帮助台套件,发现这真的很有趣!
谢谢你的帮助!
MSDN在Func Generic Delegate上的文章中给出了这个代码示例:
Func<String, int, bool> predicate = ( str, index) => str.Length == index;
String[] words = { "orange", "apple", "Article", "elephant", "star", "and" };
IEnumerable<String> aWords = words.Where(predicate).Select(str => str);
foreach (String word in aWords)
Console.WriteLine(word);
Run Code Online (Sandbox Code Playgroud)
我明白这一切是做什么的.我不明白的是
Select(str => str)
Run Code Online (Sandbox Code Playgroud)
位.当然不需要吗?如果你把它留下来就可以了
IEnumerable<String> aWords = words.Where(predicate);
Run Code Online (Sandbox Code Playgroud)
然后你仍然得到一个包含相同结果的IEnumerable,并且代码打印相同的东西.
我错过了什么,或者是误导性的例子?
我一直想学习编写一个Flash应用程序,以便它可以嵌入到网页中.
但是,如果只是为了在Flash窗口的四个侧面的墙壁周围显示一个圆圈(没有重力,但就像游戏"Pong"中的点),并且需要使用什么工具(例如,很难写一个)他们有空吗?)
PS然后在那之后,我想补充一点,我可以用鼠标抓住圆圈,或者拿起圆圈让它像重力一样掉落并让它反弹.所以我认为编程语言可能是最好的.
非常感谢.
简单的REPL测试......
def g(a:Int)(implicit b:Int) = {a+b}
为什么这些尝试用法都不起作用?
1.
scala> class A { var b:Int =8; var c = g(2) }
:6: error: could not find implicit value for parameter b: Int
class A { var b:Int =8; var c = g(2) }
2.
scala> class A(var b:Int) { var c = g(2) }
:6: error: could not find implicit value for parameter b: Int
class A(var b:Int) { var c = g(2) }
^
谢谢
关闭a java.sql.Connection还会关闭从该连接获得的所有语句,准备好的语句等吗?或者,如果我关闭连接但是保留语句等未公开会导致内存泄漏吗?
我试图以一种好的方式解析下面的字符串,以便我可以得到子字符串stringI-wantToGet:
const char *str = "Hello \"FOO stringI-wantToGet BAR some other extra text";
Run Code Online (Sandbox Code Playgroud)
str 长度会有所不同,但总是相同的模式 - FOO和BAR
我的想法是这样的:
const char *str = "Hello \"FOO stringI-wantToGet BAR some other extra text";
char *probe, *pointer;
probe = str;
while(probe != '\n'){
if(probe = strstr(probe, "\"FOO")!=NULL) probe++;
else probe = "";
// Nulterm part
if(pointer = strchr(probe, ' ')!=NULL) pointer = '\0';
// not sure here, I was planning to separate it with \0's
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将是欣赏它.
我即将启动一个具有控制台和GUI界面的应用程序.我要实现的是完全将应用程序逻辑与接口分离.将来,我也可能会添加Web界面,我不想在我的应用程序中更改任何内容.
是否有一个很好的例子(也许是一些开源项目),我可以在那里了解如何正确地完成这项工作....我也很欣赏有关如何做到这一点的建议/指导.
谢谢