分治方法求解N皇后问题:
package demo_1111_sub;
public class Solution3{
public int maxSubArray(int nums){
int len=nums.length;
if(len==0){
return 0;
}
return res;
}
/**
* 一定会包含nums[mid]这个元素
*/
private int maxCrossSum(int[] nums,int l,int m,int r){
int sum=0;
int leftSum=Integer.MIN_VALUE;
for (int i=m;i>=l;i--){
sum +=nums[i];
if (sum>leftSum){
leftSum=sum;
}
}
}
private int maxSubArraySum(int[] nums,int l,int r){
if(l==r){
return nums[l];
}
int mid=l+(r-l)/2;
return max3(maxSubArraySum(nums, l, mid),
maxSubArraySum(nums, mid + 1, r),
maxCrossSum(nums, l, mid, r));
}
private int max3(int num1, int num2, int num3) {
return Math.max(num1,Math.max(num2,num3));
}
}