• hashmap 的边遍历边存储


    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;
    
        }};
    

      

  • 相关阅读:
    LVS DR模式的简单应用
    Linux新加硬盘如何识别 分区 持续挂载
    13周作业
    12周作业
    2次月考
    10周作业
    9周作业
    8周作业
    7周作业
    6周作业
  • 原文地址:https://www.cnblogs.com/E-Dreamer-Blogs/p/12195419.html
Copyright © 2020-2023  润新知