package didi;
/*解题思路:
*一个数组划分成多个连续的子数组,然后保证每个子数组里的数字进行异或后为0,
*如果子数组里只有一个元素0,也认为是符号题目要求的,让你求最多可以划分出多
*少个这样的子数组。
*从当前的index从后往前累积异或,用来判断是否是某个区间的终点,一旦为0就break了.
*从前往后每次都要异或其他项,比如4 0 2 2,每次都要异或4那就没有结果了.*/
import java.util.*;
public class xor {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] a = new int[n];
for (int i = 0; i < n; i++) {
a[i] = in.nextInt();
}
int lastId = 0;
int count = 0;
for (int i = 0; i < n; i++) {
int temp = 0;
for (int j = i; j >= lastId; j--) {// 从当前的index从后往前累积异或,
// 用来判断是否是某个区间的终点,一
// 旦为0就break了.
temp = temp ^ a[j];
if (temp == 0) {
lastId = i + 1;
count++;
break;
}
}
}
System.out.println(count);
}
}
滴滴校招-xor-java
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 2016.9.6笔者作为在校生参加滴滴出行校招产品岗的笔试:请你设计一款公共自行车产品(2016.9.6),这个题...
- 一、前言 每周面试题,这周来个简单点,而且最近也在写 Android 自定义 View 系列的文章,欢迎大家关注公...
- 来源:2017年秋季校招面经 华为 腾讯 奇虎360 网易 滴滴(已拿offer) 乐视(已拿offer) 涂鸦(...