1708 - 四数最小值
时间: 2023-10-09 11:10:48 浏览: 53
题目描述:
给定长度为 n 的整数序列,找出其中最小的四个数。如果有重复元素只算一次。
输入格式:
第一行包含整数 n。
第二行包含 n 个整数,表示整数序列。
输出格式:
共一行,包含四个整数,表示所有整数中最小的四个数,按从小到大的顺序排列。
数据范围:
1≤n≤105,
输入样例:
5
3 5 -1 7 8
输出样例:
-1 3 5 7
算法1
(排序) $O(nlogn)$
先将数组排序,然后输出前四个元素即可。
时间复杂度
排序的时间复杂度为 $O(nlogn)$,输出前四个元素的时间复杂度为 $O(1)$,所以总时间复杂度为 $O(nlogn)$。
C++ 代码
算法2
(堆) $O(nlog4)$
使用一个大小为4的小根堆,遍历数组,如果当前元素小于堆顶元素,则弹出堆顶元素,将当前元素加入堆中。最后输出堆中元素即可。
时间复杂度
遍历数组的时间复杂度为 $O(n)$,插入元素和弹出堆顶元素的时间复杂度均为 $O(log4)$,所以总时间复杂度为 $O(nlog4)$。
C++ 代码
相关问题
el-date-picker设置最小值
对于 el-date-picker,您可以使用 min-date 属性来设置最小值。该属性接受一个日期对象或日期字符串作为值。
例如,如果您想将最小日期限制为当前日期之后的日期,您可以使用以下代码:
```html
<el-date-picker
v-model="date"
:min-date="new Date()"
></el-date-picker>
```
在上述示例中,v-model 绑定了一个名为 date 的变量,min-date 属性被设置为当前日期的 Date 对象。
您也可以将最小日期设置为特定的日期,例如:
```html
<el-date-picker
v-model="date"
:min-date="'2022-01-01'"
></el-date-picker>
```
在上述示例中,min-date 属性被设置为 '2022-01-01',这将限制用户选择的日期不早于该日期。
请根据您的需求选择适当的方式来设置 el-date-picker 的最小值。
el-input-number设置最小值
您可以通过设置`min`属性来设置`el-input-number`的最小值,如下所示:
```html
<el-input-number v-model="num" :min="1"></el-input-number>
```
在上面的示例中,`num`是`el-input-number`的绑定值,`:min="1"`设置了最小值为1。这样,用户无法通过减少按钮或手动输入来将值降低到小于1。