0.001Reids的5种数据结构 redis是一个开源的使用C语言编写的一个kv存储系统,是一个速度非常快的非关系远程内存数据库。它支持包括String、List、Set、Zset、hash五种数据结构。 通过哨兵(sentinel)和自动分区(Cuuster)的方式可以提高redis服务器的高可 ...
分类:
其他好文 时间:
2020-05-13 23:04:09
阅读次数:
94
感谢作者:本文来源:https://www.cnblogs.com/5poi/p/7273743.html 哈希表的定义: 哈希存储的基本思想是以关键字key为自变量通过一定的函数关系(散列函数或哈希函数)以这个值作为数据原始的地址。并将数据存放到相应的存储单元中。 查找是在根据查找的关键字采用同样 ...
分类:
其他好文 时间:
2020-05-13 17:15:35
阅读次数:
77
2020.5.11 杭州阶形科技公司 视频面试 这个公司是一个小公司,三十来人的规模。 今天的面试采取的是视频面试的形式,我原以为只是简单地跟那边开个视频面一下来着,没想到这个公司搞得还蛮严谨的,一共面了四轮:笔试+二轮技术面试+一轮Hr面试。笔试部分考的都是一些算法相关的问题,有一些难度,一共八题 ...
分类:
其他好文 时间:
2020-05-12 20:32:48
阅读次数:
66
为什么需要哈希表? 举个例子(摘自漫画算法): 在上学时需要学习英语,而在当时有很多的电子词典,同学们遇到不会的单词,只要在这个电子词典上输入单词的英文,就可以查出中文的含义。 当时的英语老师强烈反对使用这样的工具,因为电子词典查出来的中文资料太有限,而传统的纸质词典可以查到单词的多种含义、词性、例 ...
分类:
其他好文 时间:
2020-05-12 14:13:05
阅读次数:
91
找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n 1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 限制: 2 <= n <= 100000 思路 将整个数组作为哈希表,将数字 ...
分类:
编程语言 时间:
2020-05-11 23:58:10
阅读次数:
106
题目: 解答: 思路:滑动窗口。 我们可以使用哈希表记录每个字符的下一个索引,然后尽量向右移动尾指针来拓展窗口,并更新窗口的最大长度。如果尾指针指向的元素重复,则将头指针直接移动到窗口中重复元素的右侧。 1 class Solution { 2 public: 3 int lengthOfLonge ...
分类:
其他好文 时间:
2020-05-09 23:15:47
阅读次数:
56
题目: 在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 示例: s = "abaccdeff"返回 "b" s = "" 返回 " " 限制: 0 <= s 的长度 <= 50000 解答:暴力方式,对每个字符,比较后面是否存在相同的,复杂度O(N^2);采用哈希表方式,使用 ...
分类:
其他好文 时间:
2020-05-08 23:05:22
阅读次数:
60
Redis 集合(Set) Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。 Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可 ...
分类:
其他好文 时间:
2020-05-08 19:56:57
阅读次数:
71
Python数据结构总结 dict与set的实现原理 两者的原理都是哈希表。 dict与set实现原理是一样的,都是将实际的值放到list中。唯一不同的在于hash函数操作的对象,对于dict,hash函数操作的是其key,而对于set是直接操作的它的元素,假设操作内容为x,其作为因变量,放入has ...
分类:
编程语言 时间:
2020-05-08 12:53:05
阅读次数:
74
在过去的时间中,我写过Java多线程与并发的整个系列。 为了方便大家的阅读,也为了让知识更系统化,这里我单独把Java多线程与并发的整个系列一并罗列于此,希望对有用的人有用,也希望能帮助到更多的人。 以下为整个目录,希望大家喜欢! Java多线程系列(一):最全面的Java多线程学习概述 这一篇文章 ...
分类:
编程语言 时间:
2020-05-08 09:40:47
阅读次数:
82