1. 和为k的的子数组
public static List<Integer> zeroSubArray(int []nums,int k){
HashMap<Integer,Integer>map=new HashMap<Integer,Integer>();
List<Integer>list=new ArrayList<Integer>();
// List<List<Integer>>res=new ArrayList<>();
int sum=0;
map.put(0, 0);
for (int i = 0; i < nums.length; i++) {
sum+=nums[i];
if(map.containsKey(sum-k)){
list.add(map.get(sum-k));
list.add(i);
return list;
// res.add(list);
// list=new ArrayList<>();
}else{
map.put(sum, i+1);
}
}
return list;
2. First Missing Positive 类似基数排序
public int firstMissingPositive(int[] A) {
if(A==null || A.length==0)
{
return 1;
}
for(int i=0;i<A.length;i++)
{
if(A[i]<=A.length && A[i]>0 && A[A[i]-1]!=A[i])
{
int temp = A[A[i]-1];
A[A[i]-1] = A[i];
A[i] = temp;
i--;
}
}
for(int i=0;i<A.length;i++)
{
if(A[i]!=i+1)
return i+1;
}
return A.length+1;
}