hashmap 的边遍历边存储
2024-10-08 07:20:07
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; }};
最新文章
- css动画与js动画的区别
- Java基础之泛型
- umeng 渠道统计 android
- require 和 file_get_contents
- c++ ip地址相关
- $headers = $this->;input->;request_headers();返回请求头(header)数组
- cocos2d-x中Node与Node层级架构
- JqGrid在IE8中表头不能分组的解决办法
- 蜗牛爱课- iOS中plist的创建,数据写入与读取
- iOS开发之性能优化
- java把函数作为参数传递
- Windows下为Python编译C扩展模块
- linux TOP参数
- EXISTS 与 NOT EXISTS 的用法及返回结果
- 反转链表 Reverse Linked List
- OpenGl学习 SelectObject函数
- 一款效果非常不错的jquery插件 -Lightbox
- 公用的web服务
- 把bootstrap4 dropdown 的导航下拉菜单触发方式改为鼠标浮动触发
- QTP基本方法2------截取字符串