题目简介:给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序。如果有多个值的频率相同,请你按照数值本身将它们 降序 排序。
请你返回排序后的数组。
示例 1:
123输入:nums = [1,1,2,2,2,3]输出:[3,1,1,2,2,2]解释:'3' 频率为 1,'1' 频率为 2,'2' 频率为 3 。
示例 2:
123输入:nums = [2,3,1,3,2]输出:[1,3,3,2,2]解释:'2' 和 '3' 频率都为 2 ,所以它们之间按照数值本身降序排序...
题目简介:给你一个大小为 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。
返回执行此操作后,grid 中最大的岛屿面积是多少?
岛屿 由一组上、下、左、右四个方向相连的 1 形成。
示例 1:
123输入: grid = [[1, 0], [0, 1]]输出: 3解释: 将一格0变成1,最终连通两个小岛得到面积为 3 的岛屿。
示例 2:
123输入: grid = [[1, 1], [1, 0]]输出: 4解释: 将一格0变成1,岛屿的面积扩大为 4。
示例 3:
123输入: grid = [[1, 1], [1, 1]]输出: 4解释: 没有0可以让我们变成...
题目简介:给你一个字符串 s,请你返回 两个相同字符之间的最长子字符串的长度 ,计算长度时不含这两个字符。如果不存在这样的子字符串,返回 -1 。
子字符串 是字符串中的一个连续字符序列。
示例 1:
123输入:s = "aa"输出:0解释:最优的子字符串是两个 'a' 之间的空子字符串。
示例 3:
123输入:s = "cbzxy"输出:-1解释:s 中不存在出现出现两次的字符,所以返回 -1 。
提示:
1 <= s.length <= 300
s 只含小写英文字母
思路:记录下每个字符第一次出现的位置,...
题目简介:给你一个整数数组 arr ,请你删除最小 5% 的数字和最大 5% 的数字后,剩余数字的平均值。
与 标准答案 误差在 10^-5 的结果都被视为正确结果。
示例 1:
123输入:arr = [1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3]输出:2.00000解释:删除数组中最大和最小的元素后,所有元素都等于 2,所以平均值为 2 。
示例 2:
12输入:arr = [6,2,7,5,1,2,0,3,10,2,5,0,5,5,0,8,7,6,8,0]输出:4.00000
提示:
20 <= arr.length <= 1000...
题目简介:给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。
示例 1 :
123输入: 2736输出: 7236解释: 交换数字2和数字7。
示例 2 :
123输入: 9973输出: 9973解释: 不需要交换。
注意:
给定数字的范围是 [0, 10^8]
思路:贪心,首先将num转换为字符串并逆序排序,然后用另一个num的字符串去一一对应。
即要找到最靠近左边且不相等的数字,若temp[i] = 9, str_num[i] = 3。
则从str_num[str_num.size() - 1]开始寻找9的位置,并交换即可。
tip:
string 转...
题目简介:给你一个非负整数数组 nums 。如果存在一个数 x ,使得 nums 中恰好有 x 个元素 大于或者等于 x ,那么就称 nums 是一个 特殊数组 ,而 x 是该数组的 特征值 。
注意: x 不必 是 nums 的中的元素。
如果数组 nums 是一个 特殊数组 ,请返回它的特征值 x 。否则,返回 -1 。可以证明的是,如果 nums 是特殊数组,那么其特征值 x 是 唯一的 。
示例 1:
123输入:nums = [3,5]输出:2解释:有 2 个元素(3 和 5)大于或等于 2 。
示例 2:
1234567输入:nums = [0,0]输出:-1解释:没有满足题...
题目简介:有 n 名工人。 给定两个数组 quality 和 wage ,其中,quality[i] 表示第 i 名工人的工作质量,其最低期望工资为 wage[i] 。
现在我们想雇佣 k 名工人组成一个工资组。在雇佣 一组 k 名工人时,我们必须按照下述规则向他们支付工资:
对工资组中的每名工人,应当按其工作质量与同组其他工人的工作质量的比例来支付工资。
工资组中的每名工人至少应当得到他们的最低期望工资。
给定整数 k ,返回 组成满足上述条件的付费群体所需的最小金额 。在实际答案的 10-5 以内的答案将被接受。
示例 1:
123输入: quality = [10,20,5],...
题目简介:给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。 可以证明,存在 唯一的答案 。
所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。
示例 1:
12输入:root = [3,0,4,null,2,null,null,1], low = 1, high = 3输出:[3,2,null,1]
提示:
树中节点数在范围 [1, 10^4] 内...
题目简介:每当用户执行变更文件夹操作时,LeetCode 文件系统都会保存一条日志记录。
下面给出对变更操作的说明:
"../" :移动到当前文件夹的父文件夹。如果已经在主文件夹下,则 继续停留在当前文件夹 。
"./" :继续停留在当前文件夹。
"x/" :移动到名为 x 的子文件夹中。题目数据 保证总是存在文件夹 x 。
给你一个字符串列表 logs ,其中 logs[i] 是用户在 i 步执行的操作。
文件系统启动时位于主文件夹,然后执行 logs 中的操作。
执行完所有变更文件夹操作后,请你找出 返回主文件夹所需的最...
题目简介:给你两个整数 n 和 k ,请你构造一个答案列表 answer ,该列表应当包含从 1 到 n 的 n 个不同正整数,并同时满足下述条件:
假设该列表是 answer = [a1, a2, a3, ... , an] ,那么列表 [|a1 - a2|, |a2 - a3|, |a3 - a4|, ... , |an-1 - an|] 中应该有且仅有 k 个不同整数。
返回列表 answer 。如果存在多种答案,只需返回其中 任意一种 。
示例 1:
123输入:n = 3, k = 1输出:[1, 2, 3]解释:[1, 2, 3] 包含 3 个范围在 1-3 的不同整数,...