Advertisement
ogv

Untitled

ogv
Oct 7th, 2019
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.80 KB | None | 0 0
  1. // Runtime: 2 ms, faster than 99.90% of Java online submissions for Continuous Subarray Sum.
  2. // Memory Usage: 39.9 MB, less than 88.24% of Java online submissions for Continuous Subarray Sum.
  3. class Solution {
  4.     public boolean checkSubarraySum(int[] nums, int k) {
  5.         int len = nums.length;
  6.         if (len == 0) return false;
  7.        
  8.         int cs = 0;
  9.         Map<Integer, Integer> occ = new HashMap<Integer, Integer>();
  10.         occ.put(0, -1);
  11.                      
  12.         for (int i = 0; i < len; i++) {
  13.             cs += nums[i];
  14.            
  15.             if (cs >= k && k != 0) cs %= k;
  16.            
  17.             Integer prev = occ.get(cs);
  18.             if (prev == null) occ.put(cs, i);
  19.             else if (i - prev > 1) return true;
  20.         }
  21.        
  22.         return false;
  23.     }
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement