用Python改写下面的C++代码:int sumEqualsK(vector<int> nums,int K){ map<int,int> m{{0,-1}}; int sum=0; int res=0; for(int i=0;i<nums.size();i++){ sum+=nums[i]; if(m.count(sum-K)){ res=max(res,i-m[sum-K]); } else{ m[sum]=i; } } return res; }
时间: 2024-01-17 17:03:25 浏览: 88
C++实现K均值函数
下面是Python版本的代码:
```python
def sum_equals_k(nums, K):
m = {0: -1}
sum_ = 0
res = 0
for i in range(len(nums)):
sum_ += nums[i]
if sum_ - K in m:
res = max(res, i - m[sum_ - K])
else:
m[sum_] = i
return res
```
其中,`nums` 是一个整数列表,`K` 是一个整数。函数的返回值是一个整数,表示在 `nums` 中是否存在一个非空连续子数组的元素和等于 `K`,如果存在,返回该子数组的最大长度,否则返回 `0`。
阅读全文