前端后端都是网站开发吧,成都网站制作公司有哪些,平度推广网站建设,用cms做网站的具体步骤这一道题和 力扣525.连续数组 思路一模一样。 都是把其中一种看作-1#xff0c;另一种看作1#xff0c;这样转化为找前缀和为0的子数组#xff0c;比较简单#xff0c;哈希表前缀和解决
public:int sum[100005];
unordered_mapint,int mp;
vectorstring f… 这一道题和 力扣525.连续数组 思路一模一样。 都是把其中一种看作-1另一种看作1这样转化为找前缀和为0的子数组比较简单哈希表前缀和解决
public:int sum[100005];
unordered_mapint,int mp;
vectorstring findLongestSubarray(vectorstring array) {for(int i0;iarray.size();i){if(array[i][0]0array[i][0]9){sum[i1]sum[i]-1;}else{sum[i1]sum[i]1;}}mp[0]0;int l0;int r0;int llmax0;int rrmax0;int maxx0;for(int j1;jarray.size();j){if(mp.count(sum[j])){rj;lmp[sum[j]];if(r-lmaxx){maxxr-l;llmaxl;rrmaxr;}}else{mp[sum[j]]j;}}return vectorstring(array.begin()llmax,array.begin()rrmax);}
};但这一道题要注意的是返回值如上代码写比较方便应该掌握 时间复杂度O(n)