public class MiddleHalf {
public static void main(String[] args) {
int[] nums={1,4,3,5,0,3,10};
int[] result=sortArrayByParity(nums);
for(int data: result){
System.out.println(data);
}
}
public static int[] sortArrayByParity(int[] A) {
int left = 0;
int right = A.length - 1;
while (left < right) {
while ((left < right) && (A[right] % 2 != 0)) {
right--;
}
while ((left < right) && (A[left] % 2 == 0)) {
left++;
}
int temp = A[left];
A[left] = A[right];
A[right] = temp;
right--;
left++;
}
return A;
}
public static int getHalfSum(int[] n){
int sum=0,total=0;
for(int i=0;i<n.length;i++){
sum=sum+n[i];
}
for(int j=0;j<n.length;j++){
total=total+n[j];
if(total==sum){
return j;
}
sum=sum-n[j];
}
return -1;
}
}
这个Java程序展示了如何根据奇偶性对数组进行排序,并计算数组一半元素的和。`sortArrayByParity`函数使用双指针技术实现奇偶排序,`getHalfSum`函数计算数组中前半部分元素的总和。
271

被折叠的 条评论
为什么被折叠?



