为什么要学习数据结构和算法很多人在实际工作中,并不会直接实现数据和写一个算法来解决实际问题,因为这些都在类库或者框架内部实现了,只需要调用类库或框架提供的api。这些api极大的帮助了我们快速实现业务需求,开发出符合要求的产品。这样的api调用对程序猿(媛)来说不是那么的困难,导致现在越来越多的人开始步入这个高薪行业。做开发的人越来越多,为了提高门槛,很多企业开始注重候选人的基本功那就是数据结构和
分类:
编程语言 时间:
2020-07-14 10:34:22
阅读次数:
60
题目 350. 两个数组的交集 II 我的思路 我最开始的思路:外循环遍历数组1,对于每个数组1的元素,在数组2中找是否有相同的元素,若有添加到新数组并从数组2删除。时间复杂度是m*n。 借用哈希表,可以降低再数组2中找相同元素的复杂度,代价是需要是为数组2构造一个哈希表。其中哈希表的key是元素的 ...
分类:
编程语言 时间:
2020-07-13 11:21:18
阅读次数:
54
一、HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。 HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHash ...
分类:
其他好文 时间:
2020-07-12 20:50:02
阅读次数:
55
题目信息 时间: 2019-07-06 题目链接:Leetcode tag: 哈希表 排序 难易程度:中等 题目描述: 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 1 ...
分类:
其他好文 时间:
2020-07-12 14:22:59
阅读次数:
56
Redis中的每个对象都由一个redisObject结构表示,该结构中和保存数据有关的三个属性分别是type、encoding和ptr: typedef struct redisObject { unsigned type:4; // 类型 unsigned encoding:4;// 编码 uns ...
分类:
其他好文 时间:
2020-07-12 14:20:28
阅读次数:
63
Redis一共支持5种数据结构,hash是其中的一种,在hash扩容的时候采用的是渐进式rehash的方式。要想深入理解渐进式rehash,首先要了解以下Redis中hash的数据结构。 #####哈希表节点 typedef struct dictEntry { void *key; // 键 un ...
分类:
其他好文 时间:
2020-07-12 13:53:43
阅读次数:
50
emcc main.c -s WASM=1 -o index.js 将c代码编译为wasm并且输出胶水代码index.js -O1 代码优化 -O2 优化级别提高 -O3 最高优化级别减小代码体积 emcc main.c -s MODULARIZE=1 -s EXPORT_NAME="createM ...
分类:
Web程序 时间:
2020-07-11 17:13:14
阅读次数:
97
1、初始化容量 当我们根据key的hash确定其在数组的位置时,如果n为2的幂次方,可以保证数据的均匀插入,如果n不是2的幂次方,可能数组的一些位置永远不会插入数据,浪费数组的空间,加大hash冲突; 一般我们可能会想通过 % 求余来确定位置,只不过性能不如 & 运算。而且当n是2的幂次方时:has ...
分类:
其他好文 时间:
2020-07-11 15:34:24
阅读次数:
75
gate 用时:60min,几乎全是照题解写的,所以没什么bug 题目大意: 给定一个$N\times M$的天空,$T$个$P*Q$的星座,求有几个星座在天空中出现。 星空由 \('\ *\ '\) 和 \('\ 0\ '\) 组成。 多组数据,$1 \le N, M \le 1000, 1 \l ...
分类:
其他好文 时间:
2020-07-10 13:13:24
阅读次数:
51
Git切换版本有三种方式: 1.基于哈希值切换 》基于哈希值切换(推荐),命令:git reset --hard 哈希值,哈希值从哪来,git reflog查看下就知道了,切换版本后,git reflog会发现有两个HEAD,别着急,这两个head指向的是同一个版本记录 2.使用^ 》^只能后退到过 ...
分类:
其他好文 时间:
2020-07-10 12:57:01
阅读次数:
136