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

#滴滴#
全部评论

相关推荐

链接
海梨花:我说话难听,你这简历跟没写没啥区别,搜搜别人的简历,用心写,不要随随便便就结束了
点赞 评论 收藏
分享
Jcwemz:都快过年了,就没几家真正招的,100个投递两个面试算是正常的了 加上你的简历,其实你不能很好的描述你自己是做什么的 两个月的时间,你就负责到自动化的内容啦?
点赞 评论 收藏
分享
10-29 18:20
济南大学 Java
用微笑面对困难:他不是人事吗,怎么净特么不干人事
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务