以下简单实现如何才能sum更快?
private long sum( int [] a, int begin, int end ) {
if( a == null ) {
return 0;
}
long r = 0;
for( int i = begin ; i < end ; i++ ) {
r+= a[i];
}
return r;
}
Run Code Online (Sandbox Code Playgroud)
编辑
背景是有序的.
阅读关于编码恐怖的最新条目,我来到这个网站:http://codility.com,它有这个有趣的编程测试.
无论如何,我在提交中得到了60分中的60分,而且基本上(我认为)是因为这个实现总和,因为那些我失败的部分是性能部分.我得到TIME_OUT_ERROR了
所以,我想知道算法中的优化是否可行.
因此,不允许内置函数或汇编.我可以用C,C++,C#,Java或其他任何方式完成.
编辑
像往常一样,mmyers是对的.我确实对代码进行了分析,我看到大部分时间花在了这个函数上,但我不明白为什么.所以我所做的就是抛弃我的实现并从一个新实现开始.
这次我得到了一个最佳解决方案[根据San Jacinto O(n) - 请参阅下面的MSN评论 - ]
这次我在Codility上获得了81%,我认为这已经足够了.问题是我没有花30分钟.但大约2小时.但我想这让我仍然是一个优秀的程序员,因为我可以解决这个问题,直到找到最佳解决方案:
这是我的结果.
我对codility的结果http://img534.imageshack.us/img534/6804/codility.png
我从来不明白那些"......的组合"是什么,也不知道如何测试"extreme_first"
我一直试图找出创建Oracle函数或过程时PL/SQL中的IS和AS关键字之间的区别.
我搜索过,但无法找到任何相关信息.有谁知道这个区别?
我正在寻找一个开源Excel引擎,它可以在服务器上运行excel并返回指定单元格的值(支持Excel函数).
我正在评估以下解决方案,但没有深入了解它们是好还是坏的解决方案
我正在研究的另一个非开源解决方案是SpreadsheetGear.
如果任何机构有使用这些工具的经验或知道任何可用于处理和运行Excel文件服务器端的开源工具,请在此处发表您的意见.
我正在编写类似于mpz(C)或BigInteger(Java)的类.这只是为了好玩,所以请不要继续谈论我不应该如何写自己的.
我有一个类似于的类:
public class HugeInt
{
public List<Integer> digits;
public HugeInt(String value)
{
// convert string value into its seperate digits.
// store them in instance variable above
}
}
Run Code Online (Sandbox Code Playgroud)
现在,执行此类的add()和subtract()方法非常简单.这是一个例子:
private List<Integer> add(List<Integer> a, List<Integer> b)
{
List<Integer> smallerDigits = (compareDigits(a,b) < 0) ? a : b;
List<Integer> largerDigits = (compareDigits(a,b) >= 0) ? a : b;
List<Integer> result = new ArrayList<Integer>();
int carry = 0;
for(int i = 0; i < largerDigits.size(); i++)
{
int num1 = largerDigits.get(i); …Run Code Online (Sandbox Code Playgroud) 我有一个div列表,所有div都包含一个p被归类为的标签index.这些p标签的文本内容是从1到n的数字(尽管可能不超过30-40).我有以下选择器,在初步测试中工作正常:
var ad = $('.existing_ad .index:contains('+index+')').parents('.existing_ad');
Run Code Online (Sandbox Code Playgroud)
index我从p标签中检索的数字索引在哪里,是.existing_ad父类的div.正如我所说,这很好......直到我的数字更高.例如,当索引为1时,它选择.existing_ad索引具有A 1 IN IT 的s ,例如1,10-19,21,31等.
我怎样才能获得索引n?
我问了一个关于构建自定义线程安全通用列表的问题,我现在正试图对它进行单元测试,我完全不知道该怎么做.由于锁定发生在ThreadSafeList类中,我不确定如何在我尝试模仿多个add调用时使列表锁定一段时间.谢谢.
Can_add_one_item_at_a_time
[Test]
public void Can_add_one_item_at_a_time() //this test won't pass
{
//I am not sure how to do this test...
var list = new ThreadSafeList<string>();
//some how need to call lock and sleep inside list instance
//say somehow list locks for 1 sec
var ta = new Thread(x => list.Add("a"));
ta.Start(); //does it need to aboard say before 1 sec if locked
var tb = new Thread(x => list.Add("b"));
tb.Start(); //does it need to aboard say before 1 …Run Code Online (Sandbox Code Playgroud) 我想将a ABRecordRef转换为vCard或NSData通过蓝牙传输.我遇到了你的问题,我想知道你是否能够弄清楚如何去做.
谢谢
在ColdFusion中,如何确定查询字符串中是否存在变量而不会尝试检查错误?
有没有办法通过SSH将Mercurial存储库存档到远程目录?例如,如果可以执行以下操作,那就太好了:
hg archive ssh://user@example.com/path/to/archive
Run Code Online (Sandbox Code Playgroud)
但是,这似乎不起作用.它改为创建一个ssh:在当前目录中调用的目录.
我创建了以下快速和脏脚本,通过创建临时ZIP存档,通过SSH复制并解压缩目标目录来模拟所需的行为.但是,我想知道是否有更好的方法.
if [[ $# != 1 ]]; then
echo "Usage: $0 [user@]hostname:remote_dir"
exit
fi
arg=$1
arg=${arg%/} # remove trailing slash
host=${arg%%:*}
remote_dir=${arg##*:}
# zip named to match lowest directory in $remote_dir
zip=${remote_dir##*/}.zip
# root of archive will match zip name
hg archive -t zip $zip
# make $remote_dir if it doesn't exist
ssh $host mkdir --parents $remote_dir
# copy zip over ssh into destination
scp $zip $host:$remote_dir
# unzip into containing directory (will …Run Code Online (Sandbox Code Playgroud) 回到学校,我们写了一个编译器,其中花括号具有执行所有表达式的默认行为,并返回最后一个值...所以你可以这样写:
int foo = { printf("bar"); 1 };
Run Code Online (Sandbox Code Playgroud)
在C#中有相同的东西吗?例如,如果我想编写一个具有副作用的lambda函数.
关于lambda副作用的一点(仅仅是一个例子),如果有这个功能则更多...例如在lisp中,你有预测
c# ×4
java ×3
algorithm ×1
archive ×1
c++ ×1
coldfusion ×1
curly-braces ×1
division ×1
dvcs ×1
excel ×1
generic-list ×1
ios ×1
iphone ×1
jquery ×1
math ×1
mercurial ×1
objective-c ×1
open-source ×1
optimization ×1
oracle ×1
plsql ×1
scope ×1
sql ×1
ssh ×1
unit-testing ×1
vcf-vcard ×1