我使用了很多正则表达式,但问题是我还要考虑:
abc- -abc //should output abc-abc
abc -- abc //should output abc - abc
abc- - abc //should output abc- abc
abc - -abc //should output abc -abc
Run Code Online (Sandbox Code Playgroud)
我用过:
String x=x.replaceAll("[\\-*]{2,}","-");
Run Code Online (Sandbox Code Playgroud) 给定一个数组和一个数字N如果它们的总和等于N,则从数组中调用一对完全对.
找到所有完美的对并返回其指数的总和.请注意,数组中的任何元素只能在一个完美对中计算.
例子
成对([1,4,2,3,0,5],7)= 11由于完美对是(4,3)和(2,5),其中指数1 + 3 + 2 + 5 = 11.
成对([1,3,2,4],4)= 1由于索引0处的元素(即1)和索引1处的元素(即3)形成唯一的完美对.
输入1(arr)→array.integer:非负整数数组
输入2(N)→整数:正整数
输出→整数:索引之和,如果不存在完美对,则为0
我的代码:
public static void main(String[] args) {
int x[] = {1,4,2,3,0,5};
System.out.println(pairwise(x, 7));
}
public static int pairwise(int[] arr, int N) {
int t=0;
for(int i=0;i<arr.length;i++){
for(int k=0;k<arr.length;k++){
if(arr[i]+arr[k] == N){
t+=i+k;
}
}
}
return t;
}
Run Code Online (Sandbox Code Playgroud)
问题是我的代码检查索引两次,如(0,1)和(1,0)被视为不同的索引.