给定一个仅由0,1构成的整数数组,请返回0和1个数 相同的 最长子数组的长度。
区块链毕设网qklbishe.com为您提供问题的解答
给定一个仅由0,1构成的整数数组,请返回0和1个数相同的最长子数组的长度。
publicintfindMaxLength (ArrayList<Integer> nums) {
// write code here
// 存储最大长度
intmax =0;
// 存储0,1差
int[] data =newint[nums.size()];
Map<Integer, Integer> map =newHashMap<>();
map.put(0, -1);
for(inti=0;i<nums.size();i++){
intval = nums.get(i) ==0?1: -1;
data[i] = i==0?val:data[i-1]+val;
// 记录水平高度的起始下标或计算当前水平高度到前一水平高度的距离
if(!map.containsKey(data[i])) {
map.put(data[i],i);
}else{
// 记录最大距离差
max = Math.max(max, i-map.get(data[i]));
}
}
returnmax;
}
32:20
以上就是关于问题给定一个仅由0,1构成的整数数组,请返回0和1个数 相同的 最长子数组的长度。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训