LeetCode_1636_按照頻率將陣列升序排序
題目連結
解題思路
-
頻次高位,原值取反(降序),拼接正數,排序後還原原值。
-
首先注意到
1 <= nums.length <= 100
,-100 <= nums[i] <= 100
-
所以設定一個
tmp[201]
用來記錄nums
中數的頻率 -
原值取反,拼接正數:然後對每個數,令其為
頻率 * 1000 - nums[i] + 100
-
之後進行排序,這樣子就即按頻率升序,又按照各自數值降序
-
最後返回
100 - nums[i] % 1000
AC程式碼
class Solution {
public int[] frequencySort(int[] nums) {
int[] tmp = new int[201];
for (int n : nums)
tmp[n + 100]++;
for (int i = 0; i < nums.length; i++)
nums[i] = tmp[nums[i] + 100] * 1000 - nums[i] + 100;
Arrays.sort(nums);
for (int i = 0; i < nums.length; i++)
nums[i] = 100 - nums[i] % 1000;
return nums;
}
}
本地測試程式碼
package com.company;
import java.util.Arrays;
public class Solution_1636 {
public static int[] frequencySort(int[] nums) {
int[] tmp = new int[201];
for (int n : nums)
tmp[n + 100]++;
for (int i = 0; i < nums.length; i++)
nums[i] = tmp[nums[i] + 100] * 10000 - nums[i] + 100;
Arrays.sort(nums);
for (int i = 0; i < nums.length; i++)
nums[i] = 100 - nums[i] % 10000;
return nums;
}
public static void main(String[] args) {
System.out.println(Arrays.toString(frequencySort(new int[]{1, 1, 2, 2, 2, 3})));
System.out.println(Arrays.toString(frequencySort(new int[]{2, 3, 1, 3, 2})));
System.out.println(Arrays.toString(frequencySort(new int[]{-1, 1, -6, 4, 5, -6, 1, 4, 1})));
}
}
相關文章
- 1636 按照頻率將陣列升序排序陣列排序
- PHP 字串陣列按照拼音排序的問題PHP字串陣列排序
- 二維陣列按照其內層陣列的某個鍵值排序陣列排序
- JavaScript陣列升序和降序排列JavaScript陣列
- (BST)升序陣列變為BST樹陣列
- Js陣列物件的屬性值升序排序,並指定陣列中的某個物件移動到陣列的最前面JS陣列物件排序
- 使用sort方法實現陣列升序降序陣列
- 陣列排序陣列排序
- 陣列的排序陣列排序
- 物件陣列排序物件陣列排序
- JavaScript 陣列排序JavaScript陣列排序
- js陣列排序JS陣列排序
- matlab統計一個陣列中各元素出現的頻數、頻率Matlab陣列
- Trie樹:字串頻率統計排序字串排序
- go最大堆 實現頻率排序Go排序
- 為什麼處理排序陣列比未排序陣列快排序陣列
- 多維陣列排序陣列排序
- 陣列氣泡排序陣列排序
- 陣列選擇排序陣列排序
- js陣列排序整理JS陣列排序
- javascript 陣列快速排序JavaScript陣列排序
- 陣列多重排序陣列排序
- c# 陣列排序C#陣列排序
- 二維陣列排序陣列排序
- 陣列二:使用陣列可變函式為陣列排序陣列函式排序
- c語言:輸入任意10個正整數,按照升序排序輸出:(冒泡演算法)C語言排序演算法
- ***PHP陣列排序+php二維陣列排序方法(PHP比較器)PHP陣列排序
- [Python手撕]兩個升序陣列的中位數Python陣列
- 記一次陣列操作:陣列 A 根據陣列 B 排序陣列排序
- 陣列排序函式-php陣列函式(一)陣列排序函式PHP
- js將陣列中的字串執行字母表排序JS陣列字串排序
- Laravel 佇列執行頻率限制Laravel佇列
- 按照價格排序!排序
- 二位陣列排序陣列排序
- 陣列排序的實現陣列排序
- php 二維陣列排序PHP陣列排序
- c++陣列排序插入C++陣列排序
- 二維陣列行排序陣列排序