计数排序/桶排序
文章平均质量分 56
计数排序/桶排序
Sophia_fez
干啥啥不行,可爱第一名.jpg
展开
-
leetcode *791. 自定义字符串排序(2022.11.13)
acu,然后按照他自定义的字母序去排列s,新定义的字母序不一定包含全部26个字母,没在order内的则都认为是最低优先级的且不再分先后,都放到最后拼上就可以了。更具体地说,如果在 order 中的字符 x 出现字符 y 之前,那么在排列后的字符串中, x 也应该出现在 y 之前。记录s中每个字母出现的次数,然后遍历order,一次将对应个数的字母拼接,然后再遍历一遍计数数组,将剩余的不在order中的字母拼上。order 的所有字母都是 唯一 的,并且以前按照一些自定义的顺序排序。原创 2022-11-14 22:11:29 · 91 阅读 · 0 评论 -
leetcode *面试题 10.02. 变位词组(2021.7.18)
【题目】*面试题 10.02. 变位词组 编写一种方法,对字符串数组进行排序,将所有变位词组合在一起。变位词是指字母相同,但排列不同的字符串。 注意:本题相对原题稍作修改 示例: 输入: ["eat", "tea", "tan", "ate", "nat", "bat"], 输出: [ ["ate","eat","tea"], ["nat","tan"], ["bat"] ] 说明: 所有输入均为小写字母。 不考虑答案输出的顺序。 【解题思路1】排序 + Map 键值是唯一的,可以通过排序、计原创 2021-07-18 12:33:52 · 114 阅读 · 2 评论 -
leetcode *1846. 减小和重新排列数组后的最大元素(2021.7.15)
【题目】*1846. 减小和重新排列数组后的最大元素 给你一个正整数数组 arr 。请你对 arr 执行一些操作(也可以不进行任何操作),使得数组满足以下条件: arr 中 第一个 元素必须为 1 。 任意相邻两个元素的差的绝对值 小于等于 1 ,也就是说,对于任意的 1 <= i < arr.length (数组下标从 0 开始),都满足 abs(arr[i] - arr[i - 1]) <= 1 。abs(x) 为 x 的绝对值。 你可以执行以下 2 种操作任意次: 减小 arr 中原创 2021-07-15 11:48:58 · 179 阅读 · 1 评论 -
leetcode *274. H 指数(2021.7.11)&*275. H 指数 II(2021.7.12)
【题目】*274. H 指数 给定一位研究者论文被引用次数的数组(被引用次数是非负整数)。编写一个方法,计算出研究者的 h 指数。 h 指数的定义:h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。且其余的 N - h 篇论文每篇被引用次数 不超过 h 次。 例如:某人的 h 指数是 20,这表示他已发表的论文中,每篇被引用了至少 20 次的论文总共有 20 篇。 示例: 输入:citations =原创 2021-07-11 21:38:05 · 173 阅读 · 1 评论 -
leetcode *451. 根据字符出现频率排序(2021.7.3)
【题目】*451. 根据字符出现频率排序 给定一个字符串,请将字符串里的字符按照出现的频率降序排列。 示例 1: 输入: "tree" 输出: "eert" 解释: 'e'出现两次,'r'和't'都只出现一次。 因此'e'必须出现在'r'和't'之前。此外,"eetr"也是一个有效的答案。 示例 2: 输入: "cccaaa" 输出: "cccaaa" 解释: 'c'和'a'都出现三次。此外,"aaaccc"也是有效的答案。 注意"cacaca"是不正确的,因为相同的字母必须放在一起。 示例 3原创 2021-07-03 12:12:54 · 185 阅读 · 0 评论 -
leetcode 1122. 数组的相对排序(2020.11.14)
【题目】1122. 数组的相对排序 给你两个数组,arr1 和 arr2, arr2 中的元素各不相同 arr2 中的每个元素都出现在 arr1 中 对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。 示例: 输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6] 输出:[2,2,2,1,4,3,3,9,6,7,19] 提示: arr1.le原创 2020-05-15 17:33:57 · 177 阅读 · 0 评论 -
leetcode 1005. K 次取反后最大化的数组和
【题目】1005. K 次取反后最大化的数组和 给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。(我们可以多次选择同一个索引 i。) 以这种方式修改数组后,返回数组可能的最大和。 示例 1: 输入:A = [4,2,3], K = 1 输出:5 解释:选择索引 (1,) ,然后 A 变为 [4,-2,3]。 示例 2: 输入:A = [3,-1,0,2], K = 3 输出:6 解释:选择索引 (1, 2, 2)原创 2020-05-14 16:14:35 · 140 阅读 · 0 评论 -
leetcode 1051. 高度检查器
【题目】1051. 高度检查器 学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。 请你返回能让所有学生以 非递减 高度排列的最小必要移动人数。 注意,当一组学生被选中时,他们之间可以以任何可能的方式重新排序,而未被选中的学生应该保持不动。 示例: 输入:heights = [1,1,4,2,1,3] 输出:3 解释: 当前数组:[1,1,4,2,1,3] 目标数组:[1,1,1,2,3,4] 在下标 2 处(从 0 开始计数)出现 4 vs 1 ,所以我们必须移动这名学生。 在下标 4 处原创 2020-05-14 17:00:34 · 212 阅读 · 0 评论