寻找和为目标值的最短连续子数组长度(Java实现)
```java
import java.util.HashMap;
import java.util.Map;
public class Solution {
public int shortestSubarray(int[] nums, int target) {
Map<Integer, Integer> map = new HashMap<>();
int sum = 0;
map.put(0, -1);
int minLength = Integer.MAX_VALUE;
int start = 0;
for (int i = 0; i < nums.length; i++) {
sum += nums[i];
if (map.containsKey(sum - target)) {
int length = i - map.get(sum - target);
if (length < minLength) {
minLength = length;
start = map.get(sum - target) + 1;
}
}
map.put(sum, i);
}
return minLength == Integer.MAX_VALUE ? 0 : minLength;
}
}
```
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。