滴滴笔试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;
    }
}

#滴滴#
全部评论

相关推荐

02-03 12:20
门头沟学院 Java
一天代码十万三:你这个简历东西太杂了,根本看不出你想投什么岗位
点赞 评论 收藏
分享
西松屋:说明原部门有机会把
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务