在上周的算法设计课程中,我们学习了UNION-FIND算法,该算法用来对不相交集进行查询与合并操作,但任何优秀的算法都必须要用实际的代码来进行实现,接下来我们就来看看具体的代码实现 1. 不相关集数据结构的存储方式 一般来说,对于一个不相关集A = {1, 2, ..., n} 来说,我们使用两个长 ...
分类:
编程语言 时间:
2018-11-09 21:04:59
阅读次数:
169
要求是用最少的电台覆盖最多的州,每个电台所能覆盖的州不一样 算法思路:每次将所有集合和总集合求交集,留下交集len最长的哪个,再用总集合-留下集合进行下一轮循环,直到总集合为0 ...
分类:
编程语言 时间:
2018-11-09 11:27:59
阅读次数:
211
####集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的。以下是集合最重要的两点: 1.去重,把一个列表变成集合,就自动去重了。 2.关系测试,测试两组数据之前的交集、差集、并集等关系。 #创建集合 ##在集合中增加元素: ...
分类:
编程语言 时间:
2018-11-08 23:25:59
阅读次数:
328
append:时间复杂度为o(1),如果键已经存在并且是字符串,则此命令将在字符串末尾追加值。如果键不存在,则创建它并将其设置为空字符串,因此在这种特殊情况下,追加将类似于SET。返回修改后的字符串长度。 字符串 Redis中最基本的数据结构就是字符串,使用redis最简单的额方法就是字符串作为键值 ...
分类:
其他好文 时间:
2018-11-08 01:13:25
阅读次数:
473
集合是一个无序的,不重复的数据组合作用(集合的重点):1.去重,把一个列表变成集合就自动去重了2.关系测试,测试两组数据库之前的交集、差集、并集等关系 s = {1, 1, 2, 2, 3, 4, 'a', 'a', '!', '!'} print(type(s)) # print(s) # 自动去... ...
分类:
编程语言 时间:
2018-11-07 13:16:18
阅读次数:
145
let arr1=new Set([1,2,3,1,2,3,4,5,3,32,2]);let arr2=new Set([1,4,32,4,3,6,8,9,9,]);let arr3=new Set([...arr1].filter((item)=> arr2.has(item))) ||||||| ...
分类:
编程语言 时间:
2018-11-06 22:32:11
阅读次数:
282
一些次常用的函数介绍: replace find 如果没有设置起始位置默认为 从头开始 。 random_shuffle() 将数组打乱。 nth_element() 数组下表从零开始,nth_element(a,a+k,a+n),表示要把第k大的数放到下标为k的位置上。 时间复杂度为O(N) ,比 ...
分类:
其他好文 时间:
2018-11-06 21:28:10
阅读次数:
125
redis简介redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset--有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方
分类:
其他好文 时间:
2018-11-04 14:50:40
阅读次数:
143
问答题 1.怎样实例化一个Calendar对象? Calendar ca=Calendar.getInstance(); 2.Calendar对象调用set(1949,9,1)设置的年月日分别是多少? 就是1949,9,1 3.怎样得到一个1—100的随机数? 4.有集合{1,2,3,4}和集合{1 ...
分类:
编程语言 时间:
2018-11-04 11:09:49
阅读次数:
284
给定两个数组,编写一个函数来计算它们的交集。 示例 1: 示例 2: 说明: 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输出结果的顺序。 进阶: 如果给定的数组已经排好序呢?你将如何优化你的算法? 如果 nums1 的大小比 nums2 小很多,哪种方法更优? ...
分类:
编程语言 时间:
2018-11-04 11:06:49
阅读次数:
155