Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 5797ef2

Browse files
✨feat: add 827 & 1092 & 1636
1 parent 8ee15d1 commit 5797ef2

File tree

6 files changed

+102
-3
lines changed

6 files changed

+102
-3
lines changed

‎Index/哈希表.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
| [1603. 设计停车系统](https://leetcode-cn.com/problems/design-parking-system/) | [LeetCode 题解链接](https://leetcode-cn.com/problems/design-parking-system/solution/yi-ti-san-jie-jian-dan-bian-liang-ha-xi-0gs72/) | 简单 | 🤩🤩 |
7373
| [1711. 大餐计数](https://leetcode-cn.com/problems/count-good-meals/) | [LeetCode 题解链接](https://leetcode-cn.com/problems/count-good-meals/solution/gong-shui-san-xie-xiang-jie-san-chong-gu-nn4f/) | 中等 | 🤩🤩🤩 |
7474
| [1606. 找到处理最多请求的服务器](https://leetcode-cn.com/problems/find-servers-that-handled-most-number-of-requests/) | [LeetCode 题解链接](https://leetcode-cn.com/problems/find-servers-that-handled-most-number-of-requests/solution/by-ac_oier-zgm6/) | 困难 | 🤩🤩🤩🤩 |
75+
| [1636. 按照频率将数组升序排序](https://leetcode.cn/problems/sort-array-by-increasing-frequency/) | [LeetCode 题解链接](https://leetcode.cn/problems/sort-array-by-increasing-frequency/solution/by-ac_oier-c3xc/) | 简单 | 🤩🤩🤩🤩 |
7576
| [1743. 从相邻元素对还原数组](https://leetcode-cn.com/problems/restore-the-array-from-adjacent-pairs/) | [LeetCode 题解链接](https://leetcode-cn.com/problems/restore-the-array-from-adjacent-pairs/solution/gong-shui-san-xie-yi-ti-shuang-jie-dan-x-elpx/) | 中等 | 🤩🤩🤩🤩 |
7677
| [1748. 唯一元素的和](https://leetcode-cn.com/problems/sum-of-unique-elements/) | [LeetCode 题解链接](https://leetcode-cn.com/problems/sum-of-unique-elements/solution/gong-shui-san-xie-yi-ti-shuang-jie-pai-x-atnd/) | 简单 | 🤩🤩🤩🤩 |
7778
| [1838. 最高频元素的频数](https://leetcode-cn.com/problems/frequency-of-the-most-frequent-element/) | [LeetCode 题解链接](https://leetcode-cn.com/problems/frequency-of-the-most-frequent-element/solution/gong-shui-san-xie-cong-mei-ju-dao-pai-xu-kxnk/) | 中等 | 🤩🤩🤩 |

‎Index/排序.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
| [1331. 数组序号转换](https://leetcode.cn/problems/rank-transform-of-an-array/) | [LeetCode 题解链接](https://leetcode.cn/problems/rank-transform-of-an-array/solution/by-ac_oier-j70n/) | 简单 | 🤩🤩🤩🤩 |
2727
| [1403. 非递增顺序的最小子序列](https://leetcode.cn/problems/minimum-subsequence-in-non-increasing-order/) | [LeetCode 题解链接](https://leetcode.cn/problems/minimum-subsequence-in-non-increasing-order/solution/by-ac_oier-766t/) | 简单 | 🤩🤩🤩🤩 |
2828
| [1608. 特殊数组的特征值](https://leetcode.cn/problems/special-array-with-x-elements-greater-than-or-equal-x/) | [LeetCode 题解链接](https://leetcode.cn/problems/special-array-with-x-elements-greater-than-or-equal-x/solution/by-ac_oier-z525/) | 简单 | 🤩🤩🤩🤩🤩 |
29+
| [1636. 按照频率将数组升序排序](https://leetcode.cn/problems/sort-array-by-increasing-frequency/) | [LeetCode 题解链接](https://leetcode.cn/problems/sort-array-by-increasing-frequency/solution/by-ac_oier-c3xc/) | 简单 | 🤩🤩🤩🤩 |
2930
| [1833. 雪糕的最大数量](https://leetcode-cn.com/problems/maximum-ice-cream-bars/) | [LeetCode 题解链接](https://leetcode-cn.com/problems/maximum-ice-cream-bars/solution/gong-shui-san-xie-noxiang-xin-ke-xue-xi-yrhjx/) | 中等 | 🤩🤩🤩🤩🤩 |
3031
| [1834. 单线程 CPU](https://leetcode-cn.com/problems/single-threaded-cpu/) | [LeetCode 题解链接](https://leetcode-cn.com/problems/single-threaded-cpu/solution/gong-shui-san-xie-shu-ju-jie-gou-yun-yon-1qk0/) | 中等 | 🤩🤩🤩🤩 |
3132
| [1838. 最高频元素的频数](https://leetcode-cn.com/problems/frequency-of-the-most-frequent-element/) | [LeetCode 题解链接](https://leetcode-cn.com/problems/frequency-of-the-most-frequent-element/solution/gong-shui-san-xie-cong-mei-ju-dao-pai-xu-kxnk/) | 中等 | 🤩🤩🤩 |

‎Index/模拟.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@
172172
| [1619. 删除某些元素后的数组均值](https://leetcode.cn/problems/mean-of-array-after-removing-some-elements/) | [LeetCode 题解链接](https://leetcode.cn/problems/mean-of-array-after-removing-some-elements/solution/by-ac_oier-73w7/) | 简单 | 🤩🤩🤩🤩 |
173173
| [1624. 两个相同字符之间的最长子字符串](https://leetcode.cn/problems/largest-substring-between-two-equal-characters/) | [LeetCode 题解链接](https://leetcode.cn/problems/mean-of-array-after-removing-some-elements/solution/by-ac_oier-73w7/) | 简单 | 🤩🤩🤩🤩 |
174174
| [1629. 按键持续时间最长的键](https://leetcode-cn.com/problems/slowest-key/) | [LeetCode 题解链接](=https://leetcode.cn/problems/largest-substring-between-two-equal-characters/solution/by-ac_oier-ki3t/) | 简单 | 🤩🤩🤩🤩🤩 |
175+
| [1636. 按照频率将数组升序排序](https://leetcode.cn/problems/sort-array-by-increasing-frequency/) | [LeetCode 题解链接](https://leetcode.cn/problems/sort-array-by-increasing-frequency/solution/by-ac_oier-c3xc/) | 简单 | 🤩🤩🤩🤩 |
175176
| [1646. 获取生成数组中的最大值](https://leetcode-cn.com/problems/get-maximum-in-generated-array/) | [LeetCode 题解链接](https://leetcode-cn.com/problems/get-maximum-in-generated-array/solution/gong-shui-san-xie-jian-dan-mo-ni-ti-by-a-sj53/) | 简单 | 🤩🤩🤩🤩 |
176177
| [1656. 设计有序流](https://leetcode.cn/problems/design-an-ordered-stream/) | [LeetCode 题解链接](https://leetcode.cn/problems/design-an-ordered-stream/solution/by-ac_oier-5pe8/) | 简单 | 🤩🤩🤩🤩 |
177178
| [1672. 最富有客户的资产总量](https://leetcode-cn.com/problems/richest-customer-wealth/) | [LeetCode 题解链接](https://leetcode-cn.com/problems/richest-customer-wealth/solution/by-ac_oier-ai19/) | 简单 | 🤩🤩🤩🤩 |

‎LeetCode/1091-1100/1092. 最短公共超序列(困难).md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
这是 LeetCode 上的 **[1092. 最短公共超序列](https://leetcode.cn/problems/shortest-common-supersequence/solution/by-ac_oier-s346/)** ,难度为 **困难**
44

5-
Tag : 「序列 DP」、「LCS」、「最长上升子序列」、「动态规划」、「构造」、「双指针」
5+
Tag : 「序列 DP」、「LCS」、「最长公共子序列」、「动态规划」、「构造」、「双指针」
66

77

88

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
### 题目描述
2+
3+
这是 LeetCode 上的 **[1636. 按照频率将数组升序排序](https://leetcode.cn/problems/sort-array-by-increasing-frequency/solution/by-ac_oier-c3xc/)** ,难度为 **简单**
4+
5+
Tag : 「哈希表」、「排序」、「模拟」
6+
7+
8+
9+
给你一个整数数组 `nums`,请你将数组按照每个值的频率 升序 排序。如果有多个值的频率相同,请你按照数值本身将它们 降序 排序。
10+
11+
请你返回排序后的数组。
12+
13+
示例 1:
14+
```
15+
输入:nums = [1,1,2,2,2,3]
16+
17+
输出:[3,1,1,2,2,2]
18+
19+
解释:'3' 频率为 1,'1' 频率为 2,'2' 频率为 3 。
20+
```
21+
示例 2:
22+
```
23+
输入:nums = [2,3,1,3,2]
24+
25+
输出:[1,3,3,2,2]
26+
27+
解释:'2' 和 '3' 频率都为 2 ,所以它们之间按照数值本身降序排序。
28+
```
29+
示例 3:
30+
```
31+
输入:nums = [-1,1,-6,4,5,-6,1,4,1]
32+
33+
输出:[5,-1,4,4,-6,-6,1,1,1]
34+
```
35+
36+
提示:
37+
* 1ドル <= nums.length <= 100$
38+
* $-100 <= nums[i] <= 100$
39+
40+
---
41+
42+
### 哈希表 + 排序 + 模拟
43+
44+
根据题意,先使用哈希表进行词频统计,再以二元组 $(x, cnt)$ 的形式转存到数组 `list` 中(其中 $x$ 为对应的 $nums$ 中的数值,$cnt$ 为数值 $x$ 在 `nums` 中的出现次数),再根据题目给定对 `list` 进行排序,最后再构造出答案。
45+
46+
Java 代码:
47+
```Java
48+
class Solution {
49+
public int[] frequencySort(int[] nums) {
50+
int n = nums.length;
51+
Map<Integer, Integer> map = new HashMap<>();
52+
for (int i = 0; i < n; i++) map.put(nums[i], map.getOrDefault(nums[i], 0) + 1);
53+
List<int[]> list = new ArrayList<>();
54+
for (int key : map.keySet()) list.add(new int[]{key, map.get(key)});
55+
Collections.sort(list, (a, b)->{
56+
return a[1] != b[1] ? a[1] - b[1] : b[0] - a[0];
57+
});
58+
int[] ans = new int[n];
59+
int idx = 0;
60+
for (int[] info : list) {
61+
int a = info[0], b = info[1];
62+
while (b-- > 0) ans[idx++] = a;
63+
}
64+
return ans;
65+
}
66+
}
67+
```
68+
TypeScript 代码:
69+
```TypeScript
70+
function frequencySort(nums: number[]): number[] {
71+
const map = new Map<number, number>()
72+
for (const x of nums) {
73+
if (!map.has(x)) map.set(x, 0)
74+
map.set(x, map.get(x) + 1)
75+
}
76+
nums.sort((a,b)=>{
77+
return map.get(a) != map.get(b) ? map.get(a) - map.get(b) : b - a
78+
})
79+
return nums
80+
};
81+
```
82+
* 时间复杂度:使用哈希表进行统计复杂度为 $O(n)$;根据规则进行排序复杂度为 $O(n\log{n})$;构造答案复杂度为 $O(n)$。整体复杂度为 $O(n\log{n})$
83+
* 空间复杂度:$O(n)$
84+
85+
---
86+
87+
### 最后
88+
89+
这是我们「刷穿 LeetCode」系列文章的第 `No.1636` 篇,系列开始于 2021年01月01日,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。
90+
91+
在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。
92+
93+
为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode
94+
95+
在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。
96+

‎LeetCode/821-830/827. 最大人工岛(困难).md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ Tag : 「并查集」、「枚举」
6666
Java 代码:
6767
```Java
6868
class Solution {
69-
int N = 510;
70-
int[] p = new int[N * N], sz = new int[N * N];
69+
staticint N = 510;
70+
staticint[] p = new int[N * N], sz = new int[N * N];
7171
int[][] dirs = new int[][]{{1,0},{-1,0},{0,1},{0,-1}};
7272
int find(int x) {
7373
if (p[x] != x) p[x] = find(p[x]);

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /