76. Minimum Window Substring
来源:互联网 发布:手机如何彻底卸载软件 编辑:程序博客网 时间:2024/05/17 06:49
这题说两点,第一是做法。2point,先绑定j,然后i往后移动,ok就判断比较大小,然后j往后移动。判断是用hash table 维护visit标记和mark数目数组。
第二点是关于int 和 s.length()的比较,这个会错误的!!!所以一定要加上(int)s.length
因为size type 有可能会错!
应该是出现警告,即warning,而不是错误error.
C,C++在有符号数和无符号数之间的运算时,会先把数都转成无符号数,再运算,因此,如果i=-1,那么转成无符号数就是0xFFFFFFFF,就会出现-1>2这样的情况,所以VC对这种情况会有warning,提醒你注意.
class Solution {public: string minWindow(string s, string t) { if(s.length() == 0 || t.length() == 0) return ""; bool visit[128] = {false}; int mark[128] = {0}; int count = t.length(); int i = -1, j = 0; int minlen = INT_MAX, minid = 0; for(int k = 0; k < t.length(); ++ k){ visit[t[k]] = true; mark[t[k]] ++; } while(i < (int)s.size() && j < (int)s.size()){ if(count){ i++; mark[s[i]]--; if(visit[s[i]] && mark[s[i]] >= 0) count--; } else{ if(minlen > i - j + 1){ minlen = i - j + 1; minid = j; } mark[s[j]]++; if(visit[s[j]] && mark[s[j]] > 0) count++; j++; } } if(minlen == INT_MAX) return ""; return s.substr(minid, minlen); }};
0 0
- 76. Minimum Window Substring
- 76.Minimum Window Substring
- 76. Minimum Window Substring
- 76. Minimum Window Substring
- 76. Minimum Window Substring
- 76. Minimum Window Substring
- 76. Minimum Window Substring
- 76. Minimum Window Substring
- 76. Minimum Window Substring
- 76. Minimum Window Substring
- 76. Minimum Window Substring
- 76. Minimum Window Substring
- 76. Minimum Window Substring
- 76. Minimum Window Substring
- 76. Minimum Window Substring
- 76. Minimum Window Substring
- 76. Minimum Window Substring
- 76. Minimum Window Substring
- 75. Sort Colors
- Codeforces Round #395 (Div. 2) 题解
- HDU1020
- Java自定义注解
- 什么是CDN及CDN加速原理
- 76. Minimum Window Substring
- 77. Combinations
- (五十三)高并发服务器——多路IO转接机制Select模型
- 78. Subsets
- Unreal Engine 4 实现基于网格的水面模拟(源代码)
- python模块导入,环境变量
- 仿微信朋友圈图片点击浏览和关闭时的图片缩放的过渡动画。
- Oracle之pl/sql
- 使用Spring获得包含自定义注解的对象