30daychallenge (22) | Subarray Sum Equals K

Given an array of integers and an integer k, you need to find the total number of continuous subarrays whose sum equals to k.
Example 1:
Input:nums = [1,1,1], k = 2
Output: 2
Note:
  1. The length of the array is in range [1, 20,000].
  2. The range of numbers in the array is [-1000, 1000] and the range of the integer k is [-1e7, 1e7].
Không biết ngày xưa nghĩ thế nào, nhưng giờ mình viết bài này chưa tới 5 dòng ..

Với [1,1,1] cộng cuốn chiếu được sum = [1,2,3], trên mảng sum, giống như đề bài cũ tôi làm tìm đoạn dài nhất 0,1. Ta thêm 0 [1,2,3] . Nếu sum-k tồn tại trong map, biến res = res + map(sum-k).
Nếu sum = 1,2,3 đã tồn tại trong map, ta sẽ cộng sum thêm 1. Ví dụ [0,0,0] với tổng bằng 0, thì ta có bảng map (0,1), res = 1 rồi (0,2), res = 3 rồi (0,3), res = 6.
Cảm ơn bạn !

Nhận xét

Bài đăng phổ biến từ blog này

Hiểu về Norm Regularization

Những thuật toán nền tảng trong lĩnh vực Trí tuệ nhân tạo (Artificial Intelligence I)