[LeetCode] Longest Substring Without Repeating Characters

来源:互联网 发布:varian软件 编辑:程序博客网 时间:2024/06/03 06:26

题目链接

int lengthOfLongestSubstring(string s) {int last_pos[128] = {-1};for(int i = 0; i < 128; i++){last_pos[i] = -1;}int sub_length = 0, max_length = 0;for(int i = 0; i < s.length(); i++){int index = int(s[i]);if(last_pos[index] == -1){last_pos[index] = i;sub_length++;}else{max_length = sub_length > max_length? sub_length: max_length;sub_length = 0;i = last_pos[index];for(int j = 0; j < 128; j++){last_pos[j] = -1;}}}max_length = sub_length > max_length? sub_length: max_length;return max_length;}

第一次Wrong Answer是因为直接从重复的字符开始找新的子串,应该是从该重复字符上一次出现的位置后一位开始找;

第二次Wrong Answer是误将int last_pos[128] = {-1};当做对数组所有元素初始化了,应该写个循环来赋值。

程序Run Time是264 ms。。有待改进啊。

0 0
原创粉丝点击