class Solution { public: int huawei(vector<int>& nums,int sum) { int prefix = 0; int ans = -1; unordered_map<int,int>mp; mp[0] = -1; // 特判 for(int i = 0; i<nums.size(); i++){ prefix += nums[i]; if(mp.find(prefix) == mp.end()){ mp[prefix] = i; // 记录前缀和的第一次出现下标 } if(mp.find(prefix - sum) != mp.end()){ ans = max(ans,i - mp[prefix - sum]); } } return ans; } };
1 1

相关推荐

2025-12-13 14:51
已编辑
井冈山大学 算法工程师
龙虾x:算法比你强的没有你美,比你美的…..算了已经没有比你美的了
工作两年想退休了
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务