有趣的算法题

时间:2021-05-10 09:50:56

1. 如果字符串s中的字符循环移动任意位置之后能够得到另一字符串t,那么s就被称为t的回环变位。例如,ACTGACG 就是 TGACGAC 的一个回环变位,反之亦然。判定这个条件在基因组序列中的研究是十分重要的。编写一个算法检查两个给定的字符串s和t是否互为回环变位。

答:public static boolean isCircularRotation(String s, String t) {        return s.length() == t.length() && (t + t).contains(s);    }。


2. 累加器的方差计算,长度为N,新输入数据为x

public void addDataValue(double x)
{
N++;
s = s + 1.0 * (N-1) / N * (x - m ) * (x - m);
m = m + (x - m) / N;
}
return m;
return s / (N-1);
return Math.sqrt(this.var());