我有一个关于Java软件的时间复杂度(大O表示法)的问题。有没有办法快速计算或测试它(或任何可以为我计算的网站都会受到欢迎)。例如,我想检查它的下面的代码片断,并可能提高,以及:用于计算Java代码的大O时间复杂度的工具?
int dcount = 24423567;
int a = 0;
if (dcount == 0){
a = 1;
}
String ds = Integer.toString(dcount);
String[] sa = ds.split("(?<=.)");
HashSet hs = new HashSet();
Collections.addAll(hs, sa);
a = hs.size();
if (dcount < 0)
a--;
System.out.println(a);
“时间复杂度”通常意味着最坏情况下的时间复杂度。这个问题已被证明是不可能的。 – emory 2012-03-31 18:34:59
我的意思是(大O)复杂性。也将编辑帖子。 – aretai 2012-03-31 18:38:54
如果你想计算一个数字中不同的数字,那么这段代码绝对不是时间和空间上的最佳解决方案。 – 2012-03-31 18:46:59