更新 0347.前k个高频元素 排版格式修复

This commit is contained in:
jinbudaily
2023-07-20 15:13:29 +08:00
parent 5a6bf6d855
commit 0e4f91d81d

View File

@ -5,8 +5,6 @@
<p align="center"><strong><a href="https://mp.weixin.qq.com/s/tqCxrMEU-ajQumL1i8im9A">参与本项目</a>,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!</strong></p>
> 前K个大数问题老生常谈不得不谈
# 347.前 K 个高频元素
@ -29,9 +27,11 @@
* 题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的。
* 你可以按任意顺序返回答案。
# 思路
## 算法公开课
《代码随想录》算法视频公开课:[优先级队列正式登场!大顶堆、小顶堆该怎么用?| LeetCode347.前 K 个高频元素](https://www.bilibili.com/video/BV1Xg41167Lz),相信结合视频看本篇题解,更有助于大家对本题的理解。
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html)[优先级队列正式登场!大顶堆、小顶堆该怎么用?| LeetCode347.前 K 个高频元素](https://www.bilibili.com/video/BV1Xg41167Lz),相信结合视频看本篇题解,更有助于大家对本题的理解**
## 思路
这道题目主要涉及到如下三块内容:
1. 要统计元素出现频率
@ -122,7 +122,7 @@ public:
* 时间复杂度: O(nlogk)
* 空间复杂度: O(n)
# 拓展
## 拓展
大家对这个比较运算在建堆时是如何应用的,为什么左大于右就会建立小顶堆,反而建立大顶堆比较困惑。
确实 例如我们在写快排的cmp函数的时候`return left>right` 就是从大到小,`return left<right` 就是从小到大。
@ -130,10 +130,10 @@ public:
优先级队列的定义正好反过来了,可能和优先级队列的源码实现有关(我没有仔细研究),我估计是底层实现上优先队列队首指向后面,队尾指向最前面的缘故!
# 其他语言版本
## 其他语言版本
### Java
Java
```java
/*Comparator接口说明:
@ -216,7 +216,8 @@ class Solution {
}
```
Python
### Python
```python
#时间复杂度O(nlogk)
#空间复杂度O(n)
@ -245,7 +246,7 @@ class Solution:
return result
```
Go
### Go
```go
//方法一:小顶堆
@ -320,8 +321,8 @@ func topKFrequent(nums []int, k int) []int {
### JavaScript:
JavaScript:
```js
// js 没有堆 需要自己构造
class Heap {
@ -419,7 +420,7 @@ const topKFrequent = function (nums, k) {
};
```
TypeScript
### TypeScript
```typescript
function topKFrequent(nums: number[], k: number): number[] {
@ -435,7 +436,8 @@ function topKFrequent(nums: number[], k: number): number[] {
};
```
C#:
### C#:
```csharp
public int[] TopKFrequent(int[] nums, int k) {
//哈希表-标权重
@ -473,7 +475,7 @@ C#:
```
Scala:
### Scala:
解法一: 优先级队列
```scala
@ -517,7 +519,9 @@ object Solution {
}
```
rust: 小根堆
### Rust
小根堆
```rust
use std::cmp::Reverse;
@ -549,3 +553,4 @@ impl Solution {
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
</a>