Java Map과 Array 알고리즘(1)

최대 1 분 소요

알고리즘

  • Map과 Array를 이용한 알고리즘

풀이

소스코드
import java.util.HashMap;
import java.util.Map;

public class SubArray_Map {

	public static void main(String[] args) {
		int[] nums = {3, 4, 7, 2, -3, 1, 4, 2};
		int k = 7;
		System.out.println(subarraySum_map(nums, k));
	}
	
	//2. map
	public static int subarraySum_map(int[] nums, int k) {
		int count = 0;
		Map<Integer, Integer> map = new HashMap<>();
		map.put(0,1);
		int sum = 0;
		
		//2 
		for(int i = 0; i < nums.length; i++) {
			sum += nums[i];
			
			if(map.containsKey(sum-k)) {
				count += map.get(sum-k);
			}
			
			map.put(sum, map.getOrDefault(sum, 0) + 1);
		}
		
		return count;
	}

}

카테고리:

업데이트:

댓글남기기