随笔分类 -  数据结构

摘要:一、滑动窗口题型模板 二、LeetCode 中 几个滑动窗口套用模板实现 1、 76. Minimum Window Substring https://leetcode.com/problems/minimum-window-substring/description/ 2、3 Longest S 阅读全文
posted @ 2019-07-16 20:21 skillking2 阅读(1966) 评论(0) 推荐(0)
摘要:一、& 与 a & -a : 可以计算出 a 的二进制形式的第一个 1 出现的位置。 eg: 6 & -6 = 0110 & 1010 = 0010 阅读全文
posted @ 2018-11-20 15:37 skillking2 阅读(190) 评论(0) 推荐(0)
摘要:一、n-1发生了什么 ①、二进制数 n 变成 n-1 后,如果最后一位是 0,将向前一位借 2,2-1=1。最后一位为1。如果前一位为0,将继续向前一位借2,加上本身少掉的1.则变为1。一直遇到1。减为0. 所以 二进制 xxxx10000 - 1 = xxxx01111 ②、n&n-1 按照上述 阅读全文
posted @ 2018-11-08 16:51 skillking2 阅读(4388) 评论(0) 推荐(0)
摘要:1、思路: ①、首先找到数组中的最大值,然后新建一个初始值为 0 的数组 bucket, 此数组的长度是数组最大值+1,新建的这个数组中的下标值存放的元素就是原数组的数据值。 ②、找到最大值后,开始遍历原数组,把原数组的数据加入bucket的下表中,bucket[i],每当有1个i bucket[i 阅读全文
posted @ 2018-10-14 21:20 skillking2 阅读(156) 评论(0) 推荐(0)
摘要:摘自: https://www.cnblogs.com/DSNFZ/articles/7623522.html https://blog.csdn.net/dm_vincent/article/details/7655764 并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成 阅读全文
posted @ 2018-10-08 21:30 skillking2 阅读(157) 评论(0) 推荐(0)
摘要:1、 采用传统的递归 (O(n)的空间复杂度) 2、采用 Stack + 迭代的方式 (O(n)的空间复杂度) ①、先序遍历 优化: Stack 只用于存储 Right 节点。 ②、中序遍历 优化 ③、后续遍历 a、采用 Stack 进行压栈操作,同时采用一个 Map 记录该节点的右孩子是否被访问过 阅读全文
posted @ 2018-10-05 12:27 skillking2 阅读(307) 评论(0) 推荐(0)