首页 > 其他 > 详细

hashmap 的边遍历边存储

时间:2020-01-15 11:58:04      阅读:140      评论:0      收藏:0      [点我收藏+]

PS: Hashmap 的一边遍历边存储,可解决例如两数之和、 无重复最长子串问题等,代码为cpp格式。 

以无重复最长子串为例。

class Solution {
public:
    int lengthOfLongestSubstring(string s) {
    	unordered_map<char,int> hashmap;
    	int left = 0,max_len=0;
    	for (int i=0; i < s.size(); i++){
    		if (hashmap.find(s[i]) != hashmap.end()){
    			left = max(left, hashmap[s[i]] +1);  // 更新左边界
    		}
    		max_len = max(max_len,i-left+1) 
    		hashmap[s[i]] = i;  // 遍历的同时hashmap 加入字符对应位置
    	}
    	return max_len;

    }};

  

hashmap 的边遍历边存储

原文:https://www.cnblogs.com/E-Dreamer-Blogs/p/12195419.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!