[leetcode] 560。サブアレイの合計がKに等しい
560 Subarray Sum Equals K
説明
整数の配列と整数kが与えられた場合、合計がkに等しい連続サブ配列の総数を見つける必要があります。
例1:
入力:
nums = [1,1,1], k = 2
出力:
2
注意:
- 配列の長さは[1、20,000]の範囲です。
- 配列内の数値の範囲は[-1000、1000]であり、整数kの範囲は[-1e7、1e7]です。
分析
件名の意味:いくつかのサブアレイと、アレイのK個の連続するサブアレイを特定します。
- マップについていく。mp[0]は記録用の初期値1であり、mpは前のm個の合計です。mp[sum-k] 1の場合、値kの連続サブシーケンスの存在を示します。これは、ライン上でテストケースシミュレーションを見つける必要があります。
コード
class Solution { public: int subarraySum(vector& nums, int k) { int sum=0 map mp int count=0 mp[0]++ for(int i=0i 参照