Arrays.sort()重写
Arrays.sort()重写
Sophia_fez
干啥啥不行,可爱第一名.jpg
展开
-
leetcode *剑指 Offer 45. 把数组排成最小的数 & *179. 最大数
【题目】*剑指 Offer 45. 把数组排成最小的数 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 示例 1: 输入: [10,2] 输出: "102" 示例 2: 输入: [3,30,34,5,9] 输出: "3033459" 提示: 0 < nums.length <= 100 说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数 拼接起来的数字可能会有前导 0,最后结果不需要去掉前导 0 【解题思路1】改写Arrays.so原创 2020-09-28 17:26:16 · 244 阅读 · 0 评论 -
leetcode 1356. 根据数字二进制下 1 的数目排序(位运算)(2020.11.6)
【题目】1356. 根据数字二进制下 1 的数目排序 给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。 如果存在多个数字二进制中 1 的数目相同,则必须将它们按照数值大小升序排列。 请你返回排序后的数组。 示例 1: 输入:arr = [0,1,2,3,4,5,6,7,8] 输出:[0,1,2,4,8,3,5,6,7] 解释:[0] 是唯一一个有 0 个 1 的数。 [1,2,4,8] 都有 1 个 1 。 [3,5,6] 有 2 个 1 。 [7] 有 3 个 1原创 2020-05-22 12:56:34 · 332 阅读 · 0 评论 -
leetcode 1337. 方阵中战斗力最弱的 K 行(2021.8.1)
【题目】1337. 方阵中战斗力最弱的 K 行 给你一个大小为 m * n 的方阵 mat,方阵由若干军人和平民组成,分别用 1 和 0 表示。 请你返回方阵中战斗力最弱的 k 行的索引,按从最弱到最强排序。 如果第 i 行的军人数量少于第 j 行,或者两行军人数量相同但 i 小于 j,那么我们认为第 i 行的战斗力比第 j 行弱。 军人 总是 排在一行中的靠前位置,也就是说 1 总是出现在 0 之前。 示例 1: 输入:mat = [[1,1,0,0,0], [1,1,1,1,0], [1,0,0,原创 2020-05-21 17:19:00 · 268 阅读 · 0 评论 -
leetcode 1029. 两地调度
【题目】1029. 两地调度 公司计划面试 2N 人。第 i 人飞往 A 市的费用为 costs[i][0],飞往 B 市的费用为 costs[i][1]。 返回将每个人都飞到某座城市的最低费用,要求每个城市都有 N 人抵达。 示例: 输入:[[10,20],[30,200],[400,50],[30,20]] 输出:110 解释: 第一个人去 A 市,费用为 10。 第二个人去 A 市,费用为 30。 第三个人去 B 市,费用为 50。 第四个人去 B 市,费用为 20。 最低总费用为 10 + 30原创 2020-05-12 21:02:52 · 362 阅读 · 0 评论 -
leetcode 937. 重新排列日志文件 - Arrays.sort()改写(待研究)
【题目】937. 重新排列日志文件 你有一个日志数组 logs。每条日志都是以空格分隔的字串。 对于每条日志,其第一个字为字母数字标识符。然后,要么: 标识符后面的每个字将仅由小写字母组成,或; 标识符后面的每个字将仅由数字组成。 我们将这两种日志分别称为字母日志和数字日志。保证每个日志在其标识符后面至少有一个字。 将日志重新排序,使得所有字母日志都排在数字日志之前。字母日志按内容字母顺序排序,忽略标识符;在内容相同时,按标识符排序。数字日志应该按原来的顺序排列。 返回日志的最终顺序。 示例 : 输入:["原创 2020-05-11 15:22:16 · 262 阅读 · 0 评论