你以为Redis这么快仅仅因为单线程和基于内存?那么你想得太少了,我个人认为Redis的快是基于多方面的:不但是单线程和内存,还有底层的数据结构设计,网络通信的设计,主从、哨兵和集群等等方面的设计~下面,我将360°为你揭开RedisQPS达到10万/秒的神秘面纱。一、底层数据结构设计1、底层架构:首先值得称赞的第一点:Redis底层使用的数据结构很多,但是却没有直接使用这些数据结构来实现键值对数
分类:
编程语言 时间:
2020-07-06 19:42:04
阅读次数:
49
题意是要删除一个排序链表里所有重复出现的数字,链表里留下的数字都是只出现一次的数字。 思路:用两个指针currentNode和nextNode扫描一遍有序链表,最开始初始化currentNode为链表的附加头节点dummy, nextNode为currentNode的下一个节点,然后不断判断next ...
分类:
编程语言 时间:
2020-07-06 12:40:20
阅读次数:
66
巧用数据结构,空间换时间。 /** * @Author Niuxy * @Date 2020/7/4 11:17 下午 * @Description 朴素解法 O(N * min(K,nums.length-N)) */ public boolean containsNearbyDuplicate0 ...
分类:
其他好文 时间:
2020-07-05 00:25:24
阅读次数:
55
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例: 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组 ...
分类:
其他好文 时间:
2020-07-04 01:30:22
阅读次数:
51
题目来源于力扣(LeetCode) 一、题目 896. 单调数列 题目相关标签:数组 提示: 1 <= A.length <= 50000 -100000 <= A[i] <= 100000 二、解题思路 2.1 线性扫描法 计算得到数组元素末尾与首位的差 diff,差为 0 时,则数组中元素全为重 ...
分类:
其他好文 时间:
2020-07-01 22:12:03
阅读次数:
64
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []] 回溯法,对于每个元素,先直接往下递归, ...
分类:
其他好文 时间:
2020-06-30 22:16:58
阅读次数:
65
何为set set是STL中的一种关联容器,里面的元素根据关键字存储。set的元素都是唯一的,没有重复元素,我们可以利用这个特点进行去重的操作; set中常用的方法 函数名 作用 clear 清除内容 insert 插入元素或节点 emplace 原位构造元素 erase 移除元素 swap 交换内 ...
分类:
编程语言 时间:
2020-06-30 20:34:41
阅读次数:
160
题目描述 输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 (PS:字符串中可能有重复元素) 思路 每次遍历一遍整个数组,选择一个还没有被排列的字母。由于给定字符串中可能含有重复字母,应当用Set来存储排列序列,避免重复。 s为给定字符串,u ...
分类:
其他好文 时间:
2020-06-28 13:44:19
阅读次数:
63
https://leetcode-cn.com/problems/subsets/submissions/ 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3]输出:[ [3], [1], [2], ...
分类:
其他好文 时间:
2020-06-28 13:17:22
阅读次数:
330
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明: 所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 示例 1:输入: c... ...
分类:
其他好文 时间:
2020-06-28 00:31:23
阅读次数:
56