什么是并查集
并查集是一种树形的数据结构,,用于处理一些不想交集合的合并即查询问题,我们可以通过并查集以接近O(1)
的时间完成两个不相交集合的合并,并且以O(1)
的时间判断一个元素属于哪个集合
耀出千分光
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
1 | 输入数组: |
给定一个大小为n≤106
的数组。
有一个大小为k的滑动窗口,它从数组的最左边移动到最右边。
您只能在窗口中看到k
个数字。
每次滑动窗口向右移动一个位置。
以下是一个例子:
该数组为[1 3 -1 -3 5 3 6 7]
,k
为3
。
窗口位置 | 最小值 | 最大值 |
---|---|---|
[1 3 -1] -3 5 3 6 7 | -1 | 3 |
1 [3 -1 -3] 5 3 6 7 | -3 | 3 |
1 3 [-1 -3 5] 3 6 7 | -3 | 5 |
1 3 -1 [-3 5 3] 6 7 | -3 | 5 |
1 3 -1 -3 [5 3 6] 7 | 3 | 6 |
1 3 -1 -3 5 [3 6 7] | 3 | 7 |
您的任务是确定滑动窗口位于每个位置时,窗口中的最大值和最小值。
输入包含两行。
第一行包含两个整数n
和k
,分别代表数组长度和滑动窗口的长度。
第二行有n
个整数,代表数组的具体数值。
同行数据之间用空格隔开。
输出包含两个。
第一行输出,从左至右,每个位置滑动窗口中的最小值。
第二行输出,从左至右,每个位置滑动窗口中的最大值。
1 | 8 3 |
1 | -1 -3 -3 -3 3 3 |
前缀和与差分是互为逆运算的两种计算方式,前缀和指的是一个数组是另一个数组中前n
项元素之和,而差分指的是一个数组的前n
项的和是另一个数组
实际上就是,如果数组a
是数组b
的前缀和,那b
就是a
的差分
在使用注解进行 Spring 项目的开发时,我们经常会用到Autowired
注解,它可以对类成员变量、方法及构造函数进行标注,完成IOC
容器自动装配的工作
不修改数组找出重复的数字
在一个长度位n + 1
的数组里的所有数字都在1 ~ n
的范围内,所以数组中至少有一个数字是重复的,请找出数组中任意一个重复的数字,但不能修改输入的数组
1 | [2, 3, 5, 4, 3, 2, 6, 7] |
1 | 2 或 3 |
给定一个以字符串表示的非负整数num
,移除这个数中的k
位数字,使得剩下的数字最小
注意:
0
k
个数字中第一行输入一个字符串,用来表示非负整数num
第二行输入一个整数,表示k
输出一个字符串,表示移除k
位数字后所能得到的最小数字
0≤k≤
字符串长度≤100000
num
中不包含任何前导0
1 | 1432219 |
1 | 1219 |
移除掉三个数字4,3,2
可形成一个新的最小的数字1219
1 | 10200 |
1 | 200 |
移掉首位的1
剩下的数字为200
,注意输出不能有任何前导零
1 | 10 |
1 | 0 |
从原数字移除所有的数字,剩余为空就是0
给定一个链表,若其中包含环,则输出环的入口节点
若其中不包含环,则输出null
1 | 给定如上所示的链表: |