question–>
code–>
class Solution {
public:
bool checkSubarraySum(vector<int>& nums, int k) {
unordered_map<int,int> m;
m[0]=-1;
int* csum=new int[nums.size()];
csum[0]=nums[0];
for(int i=1;i<nums.size();i++){
csum[i]=nums[i]+csum[i-1];
}
for(int i=0;i<nums.size();i++){
if(k!=0){
if(m.count(csum[i]%k)){
if(i-m[csum[i]%k]>1){
return true;
}
}
m[csum[i]%k]=i;}
else if(k==0 and nums[i]==0 and i<nums.size()-1 and nums[i+1]==0 ){
return true;
}
}
return false;
}
};
test case not passing
[0,0]
-1