我有一个长度为15的字符串:"10101000000010"
。我想采取独家或即^
int s = a [3] ^ a [5] ^ a [7] ^ a [9] ^ a [11] ^ a [13] ^ a [15];
//here ^ skips 1 index all the way up until the end of string which is 7.
int t = a[3] ^ a[ 6] ^ a[ 7] ^ a[10] ^ a[11] ^ a[14] ^ a[15];
//here ^ skips 2 index and lets 2 go, and so on...
如何设计算法来执行此操作?我只想在获取排除或每个索引之后int
。
那么问题是什么,我想知道如果String的长度是20,我该怎么做才能遵循上面的程序。
我可以复制上面的任何给定大小的字符串
答案 0 :(得分:1)
以下代码符合您的要求
public static int power(String a) {
int total = 0;
for(int i = 3; i < a.length(); i += 3) {
total ^= (int) a.charAt(i);
}
return total;
}