滴滴笔试XOR,java代码
//二维数组,动态规划 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int []a = new int[n]; for(int i=0;i<n;i++){ int temp = sc.nextInt(); a[i] = temp; } int[][] f = new int[n][n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { f[i][j] = -1; } } for (int i = 0; i < n; i++) { for (int j = i; j < n; j++) { f[i][j] = ***(a, i, j); } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { } } System.out.println(***m(f,n)); } public static int ***(int[] a, int i, int j) { if (i == j) { return a[i]; } int sum = a[i]; for (int k = i + 1; k <= j; k++) { sum = sum ^ a[j]; } return sum; } public static int ***m(int[][] f, int n) { int sum = 0; int ch = n-1; for (int i = n-1; i >=0 ; i--) { for (int j = ch; j >= i; j--) { if(f[i][j] == 0){ sum++; ch = i; break; } } } return sum; } }
#滴滴#