题目
思路
题解
package hwod;
import java.util.Scanner;
public class DivideString {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int[] res = divided(str);
System.out.println(res[0] + "," + res[1]);
}
private static int[] divided(String str) {
int[] res = new int[]{0, 0};
int[] nums = new int[str.length()];
int sum = 0;
for (int i = 0; i < str.length(); i++) {
nums[i] = (int) str.charAt(i);
sum += nums[i];
}
int i = 1, j = nums.length - 2;
int left = nums[0], right = nums[nums.length - 1];
while (i < j) {
if (right < left) {
right += nums[j--];
} else if (right > left) {
left += nums[i++];
} else {
int mid = sum - left - right - nums[i] - nums[j];
if (mid == right) {
res = new int[]{i, j};
break;
} else if (mid < right) {
break;
} else {
left += nums[i++];
}
}
}
return res;
}
}
推荐
如果你对本系列的其他题目感兴趣,可以参考华为OD机试真题及题解(JAVA),查看当前专栏更新的所有题目。